我对git有点失落,这是我第一次和其他人一起使用git。
我想要做的是将分支中所做的更改带到我正在工作的分支中,让我们说当我执行git branch --all
时,我看到的是:
master
* c
remotes/origin/HEAD -> origin/master
remotes/origin/a
remotes/origin/master
remotes/origin/c
所以,我正在分支c上工作,我有一个朋友在分支a做了一些更改,我怎样才能将他的更改带到我的分支?
另一件我不太明白的是我如何在自己的分支上工作,假设我在文件blah.html.erb中修复了一些东西,我想做一个提交并将其上传到我自己的分支,可以这样做吗?
git remote add blah.html.erb origin/c
git commit -m "Some changes"
git push origin origin/c
问候。
答案 0 :(得分:1)
为了能够访问您朋友的分支,首先需要使用以下命令将它们从远程存储库提取到本地存储库:
git fetch --all
这会从远程存储库中提取本地不存在的任何分支,并将它们添加到您的存储库中。完成此操作后,您所要做的就是将他的分支合并到您的分支中。假设你在你的分支上(如果不只是运行git checkout c
),只需运行
git merge a
接受弹出的合并提交。至于“另一件我不太了解的是我如何在自己的分支上工作”,我认为你误解了git的一些非常基本的基础知识,我强烈建议你通读{{3}给自己批判性的知识。基本上,使用git的想法是你有一个本地存储库,它在任何给定时间都有一组数据,可能还有任意数量的远程存储库,它们也包含一组可能与你的不同的数据,具体取决于你的持续时间用任何远程回购同步你的本地仓库。
您应该只运行git remote add xxxx
一次;当您想要添加远程存储库(xxxx)以供将来使用时。您的本地存储库已经知道它存在(请参阅<your project root>/.git/config
),因此您无需再次运行它。你需要做的是:
git add blah.h
git commit -m "some changes"
git push origin c
这有意义吗?如果没有,你真的,真的需要更多地阅读git的绝对基础知识。你已经做出了一个非常好的决定,开始使用git,但听起来你还有一些需要做的事情才能有效地使用它。