标签: git-checkout

如何将Git存储库还原为以前的提交

如何从当前状态恢复为在某个提交时创建的快照?

如果我这样做git log,那么我得到以下输出:

$ git log
commit a867b4af366350be2e7c21b8de9cc6504678a61b`
Author: Me <me@me.com>
Date:   Thu Nov 4 18:59:41 2010 -0400

blah blah blah...

commit 25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
Author: Me <me@me.com>
Date:   Thu Nov 4 05:13:39 2010 -0400

more blah blah blah...

commit 0766c053c0ea2035e90f504928f8df3c9363b8bd
Author: Me <me@me.com>
Date:   Thu Nov 4 00:55:06 2010 -0400

And yet more blah blah...

commit 0d1d7fc32e5a947fbd92ee598033d85bfc445a50
Author: Me <me@me.com>
Date:   Wed Nov 3 23:56:08 2010 -0400

Yep, more blah blah.
Run Code Online (Sandbox Code Playgroud)

如何从11月3日恢复提交,即提交0d1d7fc

git git-revert git-checkout git-reset

7278
推荐指数
42
解决办法
549万
查看次数

如何查看远程Git分支?

有人将一个名为testwith 的分支推git push origin test送到共享存储库.我可以看到分支git branch -r.

现在我正试图检查远程test分支.

我试过了:

  • git checkout test 什么都不做

  • git checkout origin/test* (no branch).这令人困惑.我怎么能在"没有分支"?

如何查看远程Git分支?

git remote-branch git-checkout

6408
推荐指数
38
解决办法
496万
查看次数

使用Git将特定文件重置或还原到特定版本?

我已经对作为一组文件的一部分提交了几次的文件进行了一些更改,但现在想要将其上的更改重置/还原到以前的版本.

我已经做了git log一个git diff找到我需要的修订版,但是根本不知道如何将文件恢复到以前的状态.

git version-control git-checkout

4255
推荐指数
31
解决办法
179万
查看次数

在Git存储库中查找并恢复已删除的文件

说我在Git存储库中.我删除了一个文件并提交了更改.我继续工作,并做了一些更多的提交.然后,我发现我需要恢复该文件.

我知道我可以使用签出文件git checkout HEAD^ foo.bar,但我真的不知道该文件何时被删除.

  1. 找到删除给定文件名的提交的最快方法是什么?
  2. 将该文件恢复到我的工作副本的最简单方法是什么?

我希望我不必手动浏览我的日志,检查整个项目的给定SHA,然后手动将该文件复制到我原来的项目结帐中.

git file-io git-checkout

2716
推荐指数
20
解决办法
93万
查看次数

如何将Git托管项目中的所有本地更改还原到以前的状态?

我有一个项目,我跑了git init.几次提交之后,我做了git status哪些告诉我一切都是最新的,并且没有本地更改.

然后我做了几个连续的更改,并意识到我想把所有东西扔掉,然后回到原来的状态.这个命令会为我做吗?

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

git revert git-checkout

1830
推荐指数
16
解决办法
138万
查看次数

如何从另一个分支中获取一个文件

我正在使用git并在master分支上工作.这个分支有一个名为的文件app.js.

我有一个experiment分支,我做了一堆变更和大量的提交.现在我希望把做只对所有变化app.jsexperimentmaster分支.

我怎么做?

再一次,我不想合并.我只是想把所有的变化app.jsexperiment分支带到master分支.

git git-checkout

1154
推荐指数
10
解决办法
51万
查看次数

回滚到公共仓库中的旧Git提交

我怎样才能回滚到git中的特定提交?

有人可以给我的最佳答案是使用git revertX次,直到达到所需的提交.

所以,假设我想恢复到20次提交的提交,我必须运行20次.

有更简单的方法吗?

我无法使用重置,因为此存储库是公共的.

git git-revert git-checkout

758
推荐指数
7
解决办法
88万
查看次数

有没有办法git checkout以前的分支?

我想要相当于cd -git.如果我在分支机构master并且我结账foo,我希望能够输入类似于git checkout -返回的内容master,并且能够再次键入它以返回foo.

有这样的事吗?难以实施吗?

git git-checkout

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

在不使用签出的情况下合并,更新和拉取Git分支

我在一个有两个分支A和B的项目上工作.我通常在分支A上工作,并从分支B合并东西.对于合并,我通常会这样做:

git merge origin/branchB
Run Code Online (Sandbox Code Playgroud)

但是,我还想保留分支B的本地副本,因为我可能偶尔会检查分支而不先与我的分支A合并.为此,我会这样做:

git checkout branchB
git pull
git checkout branchA
Run Code Online (Sandbox Code Playgroud)

有没有办法在一个命令中执行上述操作,而无需来回切换分支?我应该用git update-ref它吗?怎么样?

git git-pull git-merge git-checkout

585
推荐指数
10
解决办法
14万
查看次数

在git中取消删除已删除的文件

通常,要放弃对文件的更改,您将执行以下操作:

git checkout -- <file>
Run Code Online (Sandbox Code Playgroud)

如果我要丢弃的更改是删除文件怎么办?以上行会出错:

error: pathspec '<file>' did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)

什么命令将恢复该单个文件而不撤消其他更改?

奖励点:另外,如果我要丢弃的更改是添加文件怎么办?我想知道如何取消这种变化.

git git-checkout

470
推荐指数
5
解决办法
18万
查看次数