如何使用git藏匿处来藏匿部分变化



我想存放一些文件,在这些文件中,有一些我想完全存放的文件,而其他文件我想将它们放在其中。

例如,假设我有以下文件:

  1. new_file_untracked_to_stash.txt
  2. new_file_untracked_not_to_stash.txt
  3. part_of_file_changes_to_stash.txt
  4. 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(。

最新更新