2015-07-01 134 views
1

我对git完全陌生。我在我的系统上下载了GitHub上的回购协议,并对该项目进行了更改。现在我想将这些更改推送到gitHub。我没有使用Git同步这个本地副本,而是从GitHub(zip)下载了一个副本。我试过这个:与GitHub同步本地回购

git init 
git add . 
git commit -m 'local changes' 
git remote add origin 'url to github repo' 
git remote -v 
git push origin master 

经过最后一步,它说我没有在我的系统上的远程回购,并且更改已被拒绝。这里需要做什么?要解决这个问题

+0

为了将来的参考,通常的工作流程是,您从GitHub中取出一个分支,对其进行处理,然后落实并推回这些更改。 –

+0

@TimBiegeleisen我知道我犯了一个错误。但是现在需要推出本地副本的更改。我可以重新开始,但我想解决,了解这种情况。任何指针? – Maxsteel

回答

2

一种方式立即将正确地从GitHub拉master分支,然后樱桃挑提交与您刚刚所做的工作:

git remote add origin 'url to github repo' 
git pull origin master 
git checkout master 
git cherry-pick <SHA-1 of commit you just made> 
git commit -m 'Made a change to the master branch' 
git push origin master 

要找出<SHA-1>哈希您刚完成的提交,您可以查看您的工作所在的本地分支,然后键入git status。找到你想要的提交,并使用它的<SHA-1>散列。你应该删除你创建的第一个分支。

+0

@Maxsteel我的答案解决了你的问题吗? –