Git提交了一些忽略未分阶段的分阶段更改

时间:2016-08-18 09:42:47

标签: git

我在暂存区域添加了文件更改,之后进行了一些其他更改,并希望它们不被跟踪,直到第一次更改未提交为止(请参阅下面的代码)。

如果我有一个文件,可以通过简单的date_time完成。但是假设我有几个不同的文件上演,其中一些没有上演。当我指向文件列表git commit时,Git提交这些文件的当前内容,即未跟踪的更改,忽略分阶段的更改。 但我想提交阶段性更改,忽略未跟踪某些特定文件列表。怎么做?

git commit <files>

2 个答案:

答案 0 :(得分:0)

我认为这可能是你最好的选择:

git commit --interactive f1 f2

这应该让你从文件列表中选择要提交的数据,但是你必须单独检查每个数据块并选择是否将它包含在你的提交中。使用类似emacs的magit插件会更容易。

答案 1 :(得分:0)

  

我想提交暂存的更改,忽略未跟踪的某些特定文件列表

git commit无效。如果提交索引,则提交索引。

我为你找到方法。要么你要跟踪那些你不想提交的部分。既然你问的是问题,我认为这是不可能的(太多的改变)?

第二个变体是:复制(重要:不克隆)您的本地存储库。 在副本中,从索引中删除您不需要的部分。提交和推送(如果你还没有遥控器,那么git add remote origin original_repos)。在原始存储库中,执行git stash清理工作目录,进行更改,然后git stash pop

(您可以尝试在没有藏匿处的情况下进行git pull,但我想git会告诉您这会立即破坏您当地的更改。)运气好的话,你就是现在经营 - 也许你必须解决冲突,但它应该是直截了当的。

当然,在完成所有这些操作之前先进行备份。