GitHub for Windows'&引用;同步“;做

GitHub for Windows'&引用;同步“;做,git,github-for-windows,Git,Github For Windows,使用GitHub for Windows,您可以“发布”一个分支,然后将该分支“同步”到GitHub 同步基本上是一个git pull和git push?还是还有更多?如果我想从命令行执行与“sync”完全相同的步骤,我应该怎么做 (它不是开源的,或者我刚刚读过。)“同步”是使本地分支与远程分支匹配所需的任何操作。如果本地分支具有远程分支没有的提交,则“同步”将推送分支。如果远程分支位于本地分支之前,那么“sync”将首先拉入(具体地说,是git-pull--rebase,正如Phil Haa

使用GitHub for Windows,您可以“发布”一个分支,然后将该分支“同步”到GitHub

同步基本上是一个
git pull
git push
?还是还有更多?如果我想从命令行执行与“sync”完全相同的步骤,我应该怎么做

(它不是开源的,或者我刚刚读过。)

“同步”是使本地分支与远程分支匹配所需的任何操作。如果本地分支具有远程分支没有的提交,则“同步”将推送分支。如果远程分支位于本地分支之前,那么“sync”将首先拉入(具体地说,是git-pull--rebase,正如Phil Haack所说的那样)。“同步”只是让本地和远程镜像彼此的快捷方式

从:

同步按钮将复杂的推拉工作流程转变为单一操作。当有新的更改要下拉时,它会通知您,并允许您快速共享本地更改。

Sync执行
git pull--rebase
,如果有本地更改,它执行
git push


从这里开始:

由于上述答案是两年多前的事了,所以这个问题的最新答案是:由于rebase存在一些bug,“sync”按钮不再执行git pull--rebase。相反,它会执行git pull(git pull)(如果存在冲突,则会执行合并)(参见1.3.0版)

以上链接目前不可用。这是。

要添加到@ethanyang的

根据gitconfig中配置的别名

[alias]
...
sync = !git pull && git push

如果在重新设置基础的步骤中发生冲突,会发生什么?@Svante它只是失败了,并提供了一个shell供您解决问题。这就是我进入这一页的原因:-)这仍然是真的吗?我只是做了一个同步,最后得到了一个合并提交,如果流是:git pull--rebase,这就永远不会发生;git pushAny对@Michas Caldwell的评论有何解释,我相信他是对的?你能确认刚才点击Sync做了
git pull
而不是
git pull--rebase
,从而创建了另一个合并分支“master”。。。它不仅仅是pull,它还可以“git pull--rebase”,这是一个至关重要的区别。而且,您的顺序是错误的,先拉后推。@andih我的语言是通用的,不是一个有序的操作列表。命令是隐含的-注意我说“如果远程分支在本地分支之前”?我的描述也直接引用了GitHub网站。不管怎样,马特·里克斯的答案更详细,应该被标记为答案。我已经做了一些小的修改来澄清我的答案中的任何混淆。github sync除了源代码之外,还获取上游更改吗。也就是说,我已经签署了回购协议,并在本地克隆了fork,我真正想要的是上游的变化,而不仅仅是origin@AaronLSGitHub for Windows目前只构建用于一个远程设备,即
origin
。要使用多个遥控器,必须使用命令行。相关信息可以在“多Git远程和非GitHub远程”下找到。事实上,这并不完全正确。只有当重基不起作用时,它才会尝试进行合并。发行说明链接已断开。@JorisMeys我不确定你的说法是否正确。根据我的经验,如果在remote上有任何提交在我之前,它将创建一个合并提交,即使它可以进行重基处理。@JeradRose当我在Github Desktop v上写评论时。2.x,我们现在已经是3.3了:-)但是你是对的,我也注意到了同样的情况。只是出于好奇,这是怎么回事!在上面一行中是什么意思?@ScottRomack这意味着它被视为一个shell命令:GitHub Desktop是否已经设置了这个别名?如果是,该配置位于何处?我在全局
.gitconfig
中没有看到此别名。或者这只是你自己的一种替代?