我在暂存区域添加了文件更改,之后进行了一些其他更改,并希望它们不被跟踪,直到第一次更改未提交为止(请参阅下面的代码)。
如果我有一个文件,可以通过简单的date_time
完成。但是假设我有几个不同的文件上演,其中一些没有上演。当我指向文件列表git commit
时,Git提交这些文件的当前内容,即未跟踪的更改,忽略分阶段的更改。
但我想提交阶段性更改,忽略未跟踪某些特定文件列表。怎么做?
git commit <files>
答案 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
会告诉您这会立即破坏您当地的更改。)运气好的话,你就是现在经营 - 也许你必须解决冲突,但它应该是直截了当的。
当然,在完成所有这些操作之前先进行备份。