Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用Git之前,我必须提交更改吗?_Git - Fatal编程技术网

在使用Git之前,我必须提交更改吗?

在使用Git之前,我必须提交更改吗?,git,Git,看起来我对git-pull和git-commit缺乏基本的理解,比如说,我在branch工作,其他开发人员在我本地工作时对它进行了更新。我应该在发出git pull之前提交更改,还是应该执行git pull然后执行git commit?如果您对分支中的现有文件有未提交的更改,git将不允许您进行拉取。您可以提交您拥有的内容,也可以在拉取时使用--autostash标志,然后您就可以拉取了。您可以随时提交—所有提交都是本地的 只有当您需要将推送到服务器时,才需要它的最新副本。因此,在推送更改之前,

看起来我对
git-pull
git-commit
缺乏基本的理解,比如说,我在branch工作,其他开发人员在我本地工作时对它进行了更新。我应该在发出
git pull
之前提交更改,还是应该执行
git pull
然后执行
git commit

如果您对分支中的现有文件有未提交的更改,git将不允许您进行拉取。您可以提交您拥有的内容,也可以在拉取时使用
--autostash
标志,然后您就可以拉取了。

您可以随时提交—所有提交都是本地的

只有当您需要将推送到服务器时,才需要它的最新副本。因此,在推送更改之前,最好始终
从远程存储库中拉出

所以,我认为您的意思是“我应该在发布git pull之前推动更改,还是应该先执行git pull,然后再执行git push?”。理想情况下,您应该先
,然后再
,这符合将代码添加到公共存储库的最新副本的基本思想


您可能会收到通过合并公共存储库而获得的一些合并冲突的通知,您需要先解决这些冲突,然后才能最终推送您的更改。

由于git不允许您在未提交更改时进行合并,因此您需要在执行git拉取(先提取,然后合并)之前处理这些更改

你也可以

  • 签出以删除这些更改

  • 承诺拯救他们

  • 我喜欢的折中方法-


  • 通过先执行
    git stash
    ,然后可以拉入(获取和合并)更改,然后
    git stash pop
    将更改应用回。如果存在冲突,则不会删除隐藏,您将有机会解决这些冲突。

    首先拉取,然后重新应用更改,然后提交。重定基址并不总是必要的(请记住,并非每个人都使用相同的git工作流)。如果您在拉取之前提交,git应该能够很好地合并您的更改。这个问题很可能是重复的。您应该学习如何使用
    git stash
    。实际上,最好避免合并到脏的工作副本中,因此您应该在拉取之前提交,或者在这样做之前隐藏更改。这部分是正确的,Git在某些情况下允许拉,但在其他情况下不允许。不过,无论如何,最好在拉取之前提交或隐藏更改。这并不完全正确,有些情况下,即使您有未提交的更改,Git也会允许您合并。不过,正如您所指出的,最好在合并之前提交或隐藏更改。