I love git add --交互式。现在它已成为我日常工作流程的一部分。
问题似乎不适用于未跟踪的文件。我想要做的是跟踪一个新文件,但只添加其中的一部分,即这个新文件的某些部分尚未准备好进行暂存。
例如,使用 git add -i,我可以选择补丁选项,甚至可以编辑各个块以暂存部分新代码,而使调试代码注释保持未暂存状态。我喜欢以这种方式工作,因为这样可以很明显地看出我目前正在处理的大型补丁的哪些地方仍然需要工作。
不幸的是,我似乎无法对未跟踪的文件执行相同的操作。要么我暂存整个文件,要么什么也不暂存。我一直在使用的解决方法是在新文件为空时暂存甚至提交新文件,然后以通常的方式暂存单独的更改。但这个解决方案感觉像是一个肮脏的黑客,当我忘记或改变主意时,它会造成比应有的更多麻烦。
所以问题是:如何仅暂存新文件的一部分,以便跟踪该新文件,但不暂存其全部或部分内容?
哇,这一切update-index
and hash-object
业务似乎过于复杂。这个怎么样:
git add -N new_file
git add -i # or 'git add -p' if you prefer
From git help add
:
-N, --intent-to-add
Record only the fact that the path will be added later. An entry
for the path is placed in the index with no content. This is useful
for, among other things, showing the unstaged content of such files
with git diff and committing them with git commit -a.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)