git CLI命令用于stage/unstage hunk/line,如sourcetree

git CLI命令用于stage/unstage hunk/line,如sourcetree,git,command-line-interface,atlassian-sourcetree,Git,Command Line Interface,Atlassian Sourcetree,Sourcetree使制作和解构帅哥变得简单。而且还可以很容易地从一个大块头中选择特定的线条,并将其舞台化或取消舞台化。我正试图从命令行中找出如何做同样的事情 我尝试在sourcetree中执行每个操作,命令历史记录面板显示。当我执行这些操作时,它不会显示任何命令。对于其他操作,它可以正常工作 在命令行上,我在交互模式下使用git add,选择补丁选项,然后选择一个包含多行更改的文件。提示是:“将这个大块头[y,n,q,a,d,/,e,,]?”。如果我选择“?”选项,它将输出以下帮助文本: y

Sourcetree使制作和解构帅哥变得简单。而且还可以很容易地从一个大块头中选择特定的线条,并将其舞台化或取消舞台化。我正试图从命令行中找出如何做同样的事情

我尝试在sourcetree中执行每个操作,命令历史记录面板显示。当我执行这些操作时,它不会显示任何命令。对于其他操作,它可以正常工作

在命令行上,我在交互模式下使用
git add
,选择补丁选项,然后选择一个包含多行更改的文件。提示是:“将这个大块头[y,n,q,a,d,/,e,,]?”。如果我选择“?”选项,它将输出以下帮助文本:

y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help
“s”选项看起来像是从hunk中转移单个行的正确选项。然而,当我输入它时,git只是再次输出帮助文本


有人能告诉我应该在文档中的什么地方查找吗?

晚会迟到了,但这可能有助于其他人寻找解决方案

git倾向于在同一个大块头附近添加几行代码——如果您想逐行编写代码,可以在交互模式下编辑这些大块头

修改文件后,键入:

git add -p
现在,您可以输入
e
,而不是
s

这会让你进入编辑模式来改变这个帅哥

如果你在这个特别的庞克中找到了一个你想保留用于登台的特定行,请确保将其
+
-
保留在那里,并按照快速指南中的说明编辑其他行

示例时间 假设我有以下变化:

-  allScriptsTimeout: 60000,
-  getPageTimeout: 60000
+  allScriptsTimeout: 180000,
+  getPageTimeout: 180000
然而,我只想阶段的第一个变化线。如上所述,键入
git add-p
并选择
e

在编辑器中,将
-
更改为空格,并删除不希望暂存的行

假设我只想暂存
+allScriptsTimeout:180000,
,我将文件更改为:

-  allScriptsTimeout: 60000,
   getPageTimeout: 60000
+  allScriptsTimeout: 180000,
我们就这样开始了,只有一句台词上演,准备投入


尽管很麻烦,但在git CLI中添加单独的行肯定是可能的:)

事实上,您做的一切都是对的。如果一个大块头已经太小了,那么它就不能被分割成更小的大块头。同一个大块头可以在sourcetree中分割。我不知道sourcetree。请尝试手动编辑('e')这个大块头,看看会发生什么。我在多行更改中在一行的开头添加了“+”并保存了文件。得到这个输出:把这个大块头放在舞台上[y,n,q,a,d,/,j,j,g,e,?]?e错误:修补程序失败:changeme.txt:1错误:changeme.txt:修补程序不适用您编辑的hunk不适用。再次编辑(说“否”丢弃!)[y/n]?是的,这可能发生。以下是一个相关问题以及如何解决: