What does GitHub for Windows' “sync” do?

笑着哭i 提交于 2019-11-26 15:36:37

问题


With GitHub for Windows, you can "publish" a branch, and then "sync" that branch to GitHub.

Is the sync basically a git pull and git push? Or is there more to it? If I wanted to do the exact same steps as "sync" from the command line, what should I do?

(It's not Open Source, or I'd just read that.)


回答1:


Sync does git pull --rebase and then if there are local changes, it does git push.

From here: http://haacked.com/archive/2012/05/21/introducing-github-for-windows.aspx#87318




回答2:


Since the above answer was more than two years ago, an updated answer to this question is: due to some bugs with rebase, the "sync" button does not do git pull --rebase anymore. Instead, it does git pull which will do merge if there are conflicts, according to this release notes (see release 1.3.0).

The link above is not available at this time. Here is the new release notes.




回答3:


"Sync" would be any actions necessary to have your local branch match your remote branch. If your local branch had commits that your remote branch didn't, then "sync" would push your branch. If the remote branch was ahead of your local branch, then "sync" would pull first (specifically, git pull --rebase, as was explained by Phil Haack). "Sync" is just a shortcut to getting the local and remote to mirror each other.

From the GitHub site:

The sync button turns the complex workflow of pulling and pushing into a single operation. It notifies you when there are new changes to pull down and lets you quickly share local changes.




回答4:


To add to @ethanyang's answer,

According to the alias configured in the gitconfig,

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


来源:https://stackoverflow.com/questions/12104513/what-does-github-for-windows-sync-do

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!