问题描述
|
我注意到,在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];
...
看我如何有一个one1ѭ和一个-
?我想将其丢弃,以使我的提交具有最小的更改(因此,冲突的可能性更少,并且审核更容易)
:)
解决方法
这称为交互式暂存,可以使用
git add -i
或git add -p
完成。有关更多信息,请参见git-add联机帮助页,pro git和Git社区手册。
编辑:
要以交互方式取消暂存文件,可以使用:
git checkout -p HEAD
另请参阅以下SO问题:撤消git中未分段更改的一部分
, 撤消大块头使用
git reset --patch
这是一个非常隐藏的功能。您可以用git add --interactive
一步一步地演出,但不能以这种方式下台。 git add
还具有选项--patch
,与--interactive
类似,但直接转到“ patch”菜单点(否则必须按pENTER)。
git reset
不反映--interactive
选项,但具有--patch
。
, 您可以在暂存之前使用git add -e
编辑文件。
, 您可以使用免费程序“源代码树”丢弃块或特定行。
, 要以交互方式取消暂存文件,请使用:
git add -i
那么您将获得以下选项-
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
使用第三个选项revert
取消登台文件
在此处了解更多信息-https://git-scm.com/book/en/v2/Git-Tools-Interactive-Staging