我注意到在Tower(Mac的Git客户端)中,用户甚至可以逐行丢弃更改.我想知道如何使用命令行完成这项工作?或许是塔的特别之处?
在这种情况下,我经常发现自己:
@@ -391,7 +392,7 @@ extern BOOL validateReceiptAtPath(NSString *path);
NSURL *url = [self fileURL];
if (url != nil) {
NSRect readFrame = [self _readPreferenceOfFileAtURL:url];
-
+
for (NSScreen * screen in [NSScreen screens]) {
NSRect screenVisibleRect = [screen visibleFrame];
...
Run Code Online (Sandbox Code Playgroud)
看看我有一个+和一个- ?我想丢弃它,所以我的提交有最小的变化(因此冲突的可能性更小,更容易审查)
:)
igo*_*orw 29
这称为交互式分段,可以使用git add -i或完成git add -p.有关更多信息,请参阅git-add联机帮助页,pro git和Git社区书.
编辑:
要以交互方式取消暂存文件,您可以使用:
git checkout -p HEAD
Run Code Online (Sandbox Code Playgroud)
另请参阅此SO问题:撤消git中未分级更改的部分内容
要撤消帅哥使用
git reset --patch
Run Code Online (Sandbox Code Playgroud)
这是一个非常隐蔽的功能。你可以阶段用大块大块git add --interactive的,但你不能unstage这种方式。git add还具有--patch类似于的选项--interactive,但直接进入“补丁”菜单点(否则您必须点击pENTER)。
git reset不反映该--interactive选项,但具有--patch.