我是 git 新手,我遇到了这个奇怪的事情。我结帐到一个分支,做一些更改,然后我结帐到 master,我在另一个分支中所做的更改就在那里。我不确定我是否误解了这个概念或者我做错了什么。git 版本是来自 msysgit 的 1.7.11-preview20120710。
这是我制作的一系列命令,我在 mybranch 中删除了文件 text.txt,然后在 master 中也删除了该文件。
db@DB-PC /f/Projects/Controls (master)
$ ls
AcNumericSingleToolStripTextBox.vb NumericSingleTextBox.vb
db@DB-PC /f/Projects/Controls (master)
$ touch text.txt
db@DB-PC /f/Projects/Controls (master)
$ git checkout -b mybranch
Switched to a new branch 'mybranch'
db@DB-PC /f/Projects/Controls (mybranch)
$ ls
AcNumericSingleToolStripTextBox.vb NumericSingleTextBox.vb text.txt
db@DB-PC /f/Projects/Controls (mybranch)
$ rm text.txt
db@DB-PC /f/Projects/Controls (mybranch)
$ ls
AcNumericSingleToolStripTextBox.vb NumericSingleTextBox.vb
db@DB-PC /f/Projects/Controls (mybranch)
$ git checkout master
D Controls/text.txt
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 5 commits.
db@DB-PC /f/Projects/Controls (master)
$ ls
AcNumericSingleToolStripTextBox.vb NumericSingleTextBox.vb
Text.txt 不在 master 中了。
为仓库编辑
在创建该示例 text.txt 之前我遇到了问题。现在我在mybranch中将AcNumericSingleToolStripTextBox.vb重命名为NumericSingleToolStripTextBox.vb,可以看到master的变化:
db@DB-PC /f/Projects/Controls (master)
$ ls
AcNumericSingleToolStripTextBox.vb NumericSingleTextBox.vb
db@DB-PC /f/Projects/Controls (master)
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 7 commits.
#
nothing to commit (working directory clean)
db@DB-PC /f/Projects/Controls (master)
$ git checkout -b mybranch
Switched to a new branch 'mybranch'
db@DB-PC /f/Projects/Controls (mybranch)
$ ls
AcNumericSingleToolStripTextBox.vb NumericSingleTextBox.vb
db@DB-PC /f/Projects/Controls (mybranch)
$ mv AcNumericSingleToolStripTextBox.vb NumericSingleToolStripTextBox.vb
db@DB-PC /f/Projects/Controls (mybranch)
$ ls
NumericSingleTextBox.vb NumericSingleToolStripTextBox.vb
db@DB-PC /f/Projects/Controls (mybranch)
$ git checkout master
D Controls/AcNumericSingleToolStripTextBox.vb
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 7 commits.
db@DB-PC /f/Projects/Controls (master)
$ ls
NumericSingleTextBox.vb NumericSingleToolStripTextBox.vb