有没有办法 git stash 文件的特定行?

Mic*_*ael 7 git

这是一个很难解释的问题,主要是因为我仍然对 git 一无所知。

我只知道能够过得去的基础知识。

目前我一直在做一个更大的项目,并在特定文件中更改了一堆行。我正在处理的更新距离提交和推送到 git 仍有一段距离。

孤独地看,最终是一个较小的更新,我必须在同一个文件中进行,现在需要推送该代码而不是当前的半工作文件。

有什么方法可以隐藏该文件的某些行,以便在我决定推送较小的更改时不会丢失对该文件所做的较大更改?

或者我是否必须存储我现在拥有的内容,然后返回文件并再次重新进行较小的更改并推送它?

对不起,如果这很难理解,这有点难以解释,而且我不知道目前是否有办法用 git 来做到这一点。

编辑

我正在研究使用单独的分支,就像第二个答案所暗示的那样。这似乎是一个更有效的解决方案,并且可以让我跟踪我的修复。

小智 8

您可以使用 --patch 选项隐藏文件中的特定行:

git stash --patch

git stash --patch  <filename>
Run Code Online (Sandbox Code Playgroud)

Git 会以交互方式询问您想对每个文件做什么。您可以编辑文件或选择隐藏哪些行

请注意,您也可以在使用 git add 将文件添加到暂存区时执行此操作:

git add --patch  <filenames>
Run Code Online (Sandbox Code Playgroud)

如果你想做的是提交文件的一部分,你可以使用 git add --patch 暂存你想提交的部分,不需要存储。