“git checkout - ”有什么作用?

时间:2017-11-09 14:25:34

标签: git git-bash git-checkout

我看到了一种奇怪的git checkout命令。

git checkout -

-在这做什么?

3 个答案:

答案 0 :(得分:8)

cd -相同。所以你回到最后一个分支。如果从 master 开始,这三个序列也会相同:

# Way 1
git checkout mybranch
git checkout master

# Way 2 (same result)
git checkout mybranch
git checkout -

# Way 3 (same result)
git checkout mybranch
git checkout @{-1}

如上所述chepner,您可以使用@{-N}

返回先前检出的第n个分支

答案 1 :(得分:0)

它切换回您以前的分支。如果再次运行它,则切换回第一个分支。一个有用的比较是cd -,您可能知道它会带您回到最近的目录。

Have a look in this source

答案 2 :(得分:0)

它结帐到最后一个分支(我认为)。

Keenens-MacBook:testdir keenencates$ git branch mybranch
Keenens-MacBook:testdir keenencates$ ls
hello.py
Keenens-MacBook:testdir keenencates$ git checkout mybranch
Switched to branch 'mybranch'
Keenens-MacBook:testdir keenencates$ ls
hello.py
Keenens-MacBook:testdir keenencates$ git checkout -
Switched to branch 'master'
Keenens-MacBook:testdir keenencates$ 

你可以在下面查看我自己的白痴。

我认为它没有做任何事情。

Keenens-MacBook:sentiment-rnn keenencates$ cd testdir/
Keenens-MacBook:testdir keenencates$ ls
Keenens-MacBook:testdir keenencates$ git init
Initialized empty Git repository in /Users/keenencates/Documents/Udacity/DLND/master_projects/sentiment-rnn/testdir/.git/
Keenens-MacBook:testdir keenencates$ vim hello.py
Keenens-MacBook:testdir keenencates$ ls
hello.py
Keenens-MacBook:testdir keenencates$ git add .
Keenens-MacBook:testdir keenencates$ git commit
[master (root-commit) 2ffa8de] init
 1 file changed, 1 insertion(+)
 create mode 100644 hello.py
Keenens-MacBook:testdir keenencates$ ls
hello.py
Keenens-MacBook:testdir keenencates$ git checkout -
error: pathspec '-' did not match any file(s) known to git.
Keenens-MacBook:testdir keenencates$