【问题标题】:Differences between Commit, Commit and Push, Commit and SyncCommit、Commit 和 Push、Commit 和 Sync 之间的区别
【发布时间】:2015-07-14 08:41:43
【问题描述】:

我正在使用 Visual Studio 2013,当我提交 C# 代码时,我面临 3 个选项。我需要解释每个选项在我的本地存储库与 GitHub 存储库发生的情况方面的差异。

  • 选项 1 表示提交
  • 选项 2 表示提交并推送
  • 选项 3 表示提交和同步

我不太明白最后两个选项之间的区别。什么时候应该使用 Commit and Sync 而不是 Commit and Push?

【问题讨论】:

    标签: git visual-studio github git-commit


    【解决方案1】:
    1. Commit 只会记录您在本地计算机上所做的更改。它不会在远程存储库中标记更改。
    2. 提交和推送将执行上述操作并将其推送到远程存储库。这意味着您所做的任何更改也将保存到远程存储库。
    3. 提交和同步做了三件事。首先,它会提交。其次,它将执行拉取(从远程仓库获取更新的信息)。最后,它会推动。

    查看更多来自 Microsoft here

    【讨论】:

    • 我真的没有得到“提交和同步”首先,它会提交。其次,它会执行拉动。最后,它会推。当代码更改已经提交到远程存储库时,为什么这里需要推送(没有更改推送)。
    • @BhuwanPandey 执行“提交”不包括“推送”。他们是分开的。只有“推送”才会更新您对远程存储库的提交。请参阅另一个答案中的图像以查看。 “提交”从索引到本地存储库,而“推送”通过从本地存储库到远程存储库完成
    • 多个用户同时进入应用程序时,同步操作会导致冲突吗?
    • 我使用的是 Visual Studio 2017,而 Commit and Sync 命令并没有完全推送您的更改。我这么说是因为通过执行同步,我的更改会显示在 Visual Studio 的历史记录选项卡中,但在 Github 站点上它不会出现。我必须在 Commig 和 Sync 之后执行 Push 命令,然后我的更改出现在 Github 站点中。
    • @Fabiano 同意。如果我先提交然后同步,系统会提示我推送以提交到远程服务器。这似乎与这里的答案不一致。
    【解决方案2】:

    添加到 camieblanch 的答案。我从 tanascius (here) 找到了这张有用的图片/帖子。 “这是 Oliver Steele 的一张漂亮图片,它解释了 git 模型和命令:”

    【讨论】:

    • 但是这张图中的同步在哪里?
    • 图片中不存在。如果您参考“camiblanch”的答案。它提交到您的本地仓库,拉动以将远程仓库与您的本地仓库同步(合并),然后将合并的本地仓库推送到远程仓库。
    【解决方案3】:

    结帐。这将有助于理解推送、拉取、提交和同步。

    https://learn.sparkfun.com/tutorials/using-github-to-share-with-sparkfun/committing-pushing-and-pulling

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-14
      • 2020-04-03
      • 2018-03-27
      • 2021-11-02
      相关资源
      最近更新 更多