您添加提交到my-destinations
,在你的本地回购,不master
:
a <-- master ref is (a)
\
b - c - d <-- my-destinations ref is (d)
当你推到origin
,远程回购,它只是把你现有的本地master
分行,并提出了远程回购master
是一样的。换句话说,远程master
更新为参考(a),就像您的本地master
一样。如果它已经在(a),那么对遥控器完全没有改变。
您的遥控器命名为origin
,这是标准的命名约定。所以,如果你添加本地跟踪分行远程master
,它会被称为origin/master
,它会引用发生该分支推后的相同承诺:
a <-- master (a)* <-- origin/master (a)
\
b - c - d <-- my-destinations (d)
(*) - Indicates branch that is checked out
需要注意的是,如果你没有推而my-destinations
被检出,然后origin
不会有新的提交b,c和d,除非使用命令行标志或其他方法将所有分支推送到origin
。如果您确实推送了my-destinations
,那么在遥控器上也会有b-c-d提交,并且还会指向(d)的本地跟踪参考。
但最大的问题是如何让你的新提交回master
。为了从my-destinations
让您的新提交到master
,你可以git merge my-destinations
与主签出,其中,在这种情况下,将只是“快进”大师达(d)提交,因为master
被引用的my-destinations
父(即他们没有分歧 - 你可以认为abcd是一条直线而不是一条分支)。合并之后,你会:
a <-- origin/master (a)
\
b - c - d <-- master (d)* <-- my-destinations (d)
然后,推到远程之后,origin/master
将更新以便它匹配master
在提交(d) - 即所有三个裁判将被指向(d)。
注:如果master
和my-destinations
有分歧,你可以合并或重订,使他们重新走到一起。在Google中查找“visual git教程”,你应该运行几个很好的教程来指导你完成这些教程。
另请参见:我推荐Git Extensions作为一个开源GUI工具,它将帮助您更准确地了解您的分支机构,提交本地和远程操作的GUI。它帮助我更轻松地学习Git,在Visual Studio或前台的其他工具中工作时,我总是在后台打开它。它会基本向您展示类似于上述图表的任何回复,您可以随时进行更改。
您从未将更改合并到'master'中,为什么它会落后?你需要'git checkout master && git merge my-destinations'来改变'master' – CoryKramer
当我尝试git merge git响应“not something we merge”时,这个响应指的是什么? – meddy
https://stackoverflow.com/questions/16862933/how-to-resolve-gits-not-something-we-can-merge-error – CoryKramer