我想存放一些文件,在这些文件中,有一些我想完全存放的文件,而其他文件我想将它们放在其中。
例如,假设我有以下文件:
- new_file_untracked_to_stash.txt
- new_file_untracked_not_to_stash.txt
- part_of_file_changes_to_stash.txt
- all_changes_to_stash.txt
前两个文件(1和2(是未跟踪的新文件。跟踪了另外两个(3和4(,其中一个(3(几乎没有我想存放的行,也很少我不想藏起来,而另一个文件(4(我想将其藏起来。<<<<<<<<<<<<
如何在这种情况下藏起来?
update :如果固定文件,则可以使用git stash push -m _STASH_MESSAGE_ _PATH_1 _PATH_2
就我而言,我需要将一部分文件更改藏起来(例如,第1-20行已更改,但我只想存放1-12行,并保留13-20行以进行操作(
在git中,他们的许多命令都带有标志-p
或--patch
。此标志使您可以与文件的某些部分进行交互。
git stash
没有什么不同。从 git stash
;
使用
--patch
,您可以从头部和工作树之间的差异中进行交互选择块。构造储藏条目使其索引状态与存储库的索引状态相同,并且其工作树仅包含您交互选择的更改。然后将所选的更改从您的工作室回滚。
因此,在您的情况下,运行
git stash -p
然后交互式选择所需的文件部分就足够了。
有关在交互式模式时命令的更多信息,请参见git-add
文档中的标题为"交互式"模式。
git stash -p
是一种审核的方式,可以使块更改,让您决定要藏匿哪些,哪些不是(与git add -p
一样((DOC((DOC(。