149 我正在使用Visual Studio 2013,并且在提交C#代码时面临3个选项。我需要解释每个选项之间的差异,这些差异涉及本地存储库和GitHub存储库之间的差异。 选项1表示提交 选项2说“提交并推送” 选项3说“提交并同步” 我不太了解最后2个选项之间的区别。什么时候应该使用“提交和同步”而不是“提交和推送”? git visual-studio github git-commit — 阿尔弗雷德·瓦利戈 source
216 Commit只会记录您在本地计算机上所做的更改。它不会标记远程存储库中的更改。 Commit and Push将执行上述操作并将其推送到远程存储库。这意味着您所做的任何更改也将保存到远程存储库中。 提交和同步执行三件事。首先,它将提交。其次,它将执行拉取(从远程存储库中获取更新的信息)。最后,它将推动。 在此处查看来自Microsoft的更多信息 — 卡米布兰奇 source 我真的没有得到“提交并同步”,它会提交。其次,它将执行拉动。最后,它将推动。当代码更改已提交到远程存储库时,为什么要在此处要求推送(没有要推送的更改)。 — Bhuwan Pandey 6 @BhuwanPandey执行“提交”不包含“推送”。他们是分开的。只有“推送”会更新对远程存储库的提交。看到另一个答案中的图像即可看到。“提交”从索引到本地存储库,而“推送”通过从本地存储库到远程存储库完成 — camiblanch 当多个用户同时在应用程序中工作时,同步操作是否会引起冲突? — Murali Dhar Darshan 我正在使用Visual Studio 2017,并且``提交和同步''命令无法完全推送您的更改。我说这是因为通过执行Sync,我的更改将显示在Visual Studio的“历史记录”选项卡中,但是在Github站点上却没有出现。在Commig和Sync之后,我必须执行一个Push命令,然后我的更改出现在Github站点中。 — 法比亚诺 我认为混淆来自于认为Commit将文件发送到远程存储库。实际上,Commit仅将您的编辑记录在本地存储库中。如果没有Push,它将永远不会命中服务器。 — 艾伦·巴尔吉
72 添加到camieblanch的答案。我从tanascius(这里)找到了这个有用的图片/帖子。“这是奥利弗·斯蒂尔(Oliver Steele)的一张漂亮的照片,它解释了git模型和命令:” — 谢里夫 source 1 但是这张图片中的“同步”在哪里? — 艾伦·巴尔吉 2 图片中不存在。如果您参考“ camiblanch”的答案。它提交到您的本地存储库,拉动以将远程存储库与本地存储库同步(合并),然后将合并的本地存储库推送到远程存储库。 — A.sharif
0 结帐。这将有助于理解推,拉,提交和同步。 https://learn.sparkfun.com/tutorials/using-github-to-share-with-sparkfun/committing-pushing-and-pulling — hmlasnk source