相关疑难解决方法(0)

如何解除我在Git中的最后一次提交

我如何取消承诺我在git中的最后一次提交?

是吗

git reset --hard HEAD
Run Code Online (Sandbox Code Playgroud)

要么

git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)

git undo git-reset git-index

819
推荐指数
8
解决办法
75万
查看次数

如何取消本地git提交

我的问题是我已经更改了一个文件,例如:README,为我的测试行添加了一行新的'并保存了该文件,然后我发出了以下命令

 git status

 # On branch master
 # Changed but not updated:
 #   (use "git add <file>..." to update what will be committed)
 #   (use "git checkout -- <file>..." to discard changes in working directory)
 #
 #  modified:   README
 #
 no changes added to commit (use "git add" and/or "git commit -a")


 git add README

 git commit -a -m 'To add new line to readme'
Run Code Online (Sandbox Code Playgroud)

我没有将代码推送到github,现在我想取消这个提交.

为此我用过

   git reset --hard HEAD~1
Run Code Online (Sandbox Code Playgroud)

但是我从README文件中丢失了新添加的" 这个用于我的测试行 ".这不应该发生.我需要内容.有没有办法保留内容并取消我的本地提交?

git git-reset git-commit

696
推荐指数
6
解决办法
73万
查看次数

各种方法删除本地Git更改

我刚刚克隆了一个git存储库并检出了一个分支.我努力了,然后决定删除我所有的本地更改,因为我想要原始副本.

简而言之,我必须执行以下两个命令来删除我的本地更改

git checkout .

git clean -f
Run Code Online (Sandbox Code Playgroud)

我的问题是,

(1)这是摆脱当地变化的正确方法,或者请让我知道正确的方法.

(2)我们什么时候使用,git reset --hard因为即使没有这个命令也可以重置

谢谢

*解决方案:主要编辑:03/26:* 用git特定术语[tracked/untracked/staged/unstaged]替换了许多含糊不清的术语

当我们进行本地更改时,只有三类文件:

类型1.分阶段跟踪文件

键入2.未分级跟踪文件

键入3. Unstaged UnTracked文件,即UnTracked文件

  • 分阶段 - 那些被移动到临时区域/添加到索引
  • 跟踪 - 修改过的文件
  • UnTracked - 新文件.总是没有分期.如果上演,则意味着他们被跟踪.

每个命令的作用:

  1. git checkout . - 仅删除未分级跟踪文件[类型2]

  2. git clean -f - 仅删除未分级的UnTracked文件[类型3]

  3. git reset --hard - 仅删除分阶段跟踪和未分阶段跟踪文件[类型1,类型2]

  4. git stash -u - 删除所有更改[类型1,类型2,类型3]

结论:

很明显,我们可以使用其中之一

(1) combination of `git clean -f` and `git reset --hard` 
Run Code Online (Sandbox Code Playgroud)

要么

(2) `git stash -u`
Run Code Online (Sandbox Code Playgroud)

达到预期的效果.

注意:存储,因为这个词的意思是"在指定的地方安全地,秘密地存储(某物)".这总是可以使用git stash pop.因此,在上述两个选项之间进行选择是开发人员的号召.

谢谢Christoph和FrederikSchøning.

编辑:03/27

我认为值得把" …

git git-bash

609
推荐指数
5
解决办法
54万
查看次数

标签 统计

git ×3

git-reset ×2

git-bash ×1

git-commit ×1

git-index ×1

undo ×1