GIT - 结帐到分行名称以'<'符号

时间:2016-06-09 11:32:35

标签: git git-branch git-checkout

我已经创建了一个名为<title>-changes的分支:

git checkout -b <title>-changes并在该分支上进行了提交。之后,我结帐到another-branch开始处理another-branch。现在我想结帐到上一个分支(<title>-changes),但我现在无法做到:

git checkout <title>-changes

我知道这是一个简单的问题,但无法破解。我试过了:

git checkout \<title>-changes
git checkout /<title>-changes
git checkout '<title>-changes'

但没有运气。得到如下错误:

$error: pathspec '<title' did not match any file(s) known to git.
$bash: title: No such file or directory
$error: pathspec '<title>-change-pdp ' did not match any file(s) known to git.

2 个答案:

答案 0 :(得分:3)

你必须对<>进行检查,因为bash将它们视为特殊符号。

为了做到这一点,在它们中添加反斜杠\

git checkout \<title\>-changes

这就是我对此进行测试的结果,并且有效。

mkdir test
cd test/
git init
git branch \<title\>-changes
touch empty
git add empty
git commit -m "Added empty file"
git branch \<title\>-changes
git checkout \<title\>-changes
touch second
git add second
git commit -m "Added second empty file"
git checkout -b another-branch
touch third
git add third
git commit -m "Added third empty file"
git checkout \<title\>-changes

答案 1 :(得分:0)

除了 @Ferran Rigual 之外,还有另一个解决方案。就像 @Matthieu Moy 一样,我在分支名称中有一个额外的空格。删除它解决了它。但是,

我将git checkout '<title>-changes '更改为git checkout '<title>-changes'

记录:git checkout '<title>-changes' --也有效。但我不知道--在命令中有任何重要性,因为删除命令没有任何区别。