I’ve noticed that in Tower (Git client for the Mac) the user can discard changes even line by line. I wonder how could this be done using the command line? or maybe is something special of Tower?
I frequently find myself in this case:
@@ -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];
...
See how I have one + and one - ? I would like to discard it so my commit has the minimum changes (hence less possibilities of conflicts and easier review)
🙂
This is called interactive staging and can be done using
git add -iorgit add -p. See the git-add manpage, pro git and the Git Community Book for more information.EDIT:
To interactively unstage a file, you can use:
Also see this SO question: Undo part of unstaged changes in git