git - 在一行中放弃更改

标签 git

我注意到在 Tower(Mac 的 Git 客户端)中,用户甚至可以逐行放弃更改。我想知道如何使用命令行完成此操作?还是 Tower 有什么特别之处?

我经常发现自己处于这种情况:

@@ -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];
                        ...

看看我有一个 + 和一个 - 吗?我想丢弃它,以便我的提交具有最少的更改(因此冲突的可能性较小并且更容易审查)

:)

最佳答案

这称为交互式暂存,可以使用git add -igit add -p 来完成。查看git-add manpage , pro gitGit Community Book获取更多信息。

编辑:

要以交互方式取消暂存文件,您可以使用:

git checkout -p HEAD

另请参阅此 SO 问题:Undo part of unstaged changes in git

关于git - 在一行中放弃更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6198222/

相关文章:

git - gerrit UI 中缺少“项目”选项卡

git - 既然 SHA1 被破坏了,签署 Git 提交哈希的替代方案?

c# - Libgit2Sharp : Get files associated with the initial (first) commit

javascript - jquery 克隆组合框无法运行

ruby-on-rails - Heroku 问题错误 : failed to push some refs

Git - 我怎样才能回到初始提交?

java - 解析 '^M' 或 '\r' 字符行结尾的最佳位置/阶段

git 直接添加子模块哈希

Git 子树 pull 导致 merge 冲突

Git/SCM 工作流程 : Handling changes when QA finds problems