使用 Git 个分支 - 查看/添加并提交给它们

Working with Git branches - Viewing / Adding and Commiting to them

我一直在阅读有关使用 Git branches 的信息,我知道如何创建它们并进入它们,但我不明白的是,当我做一个ls 当我在一个新分支中时,它显示与 master 分支相同的文件?

我正在尝试创建一个略有不同的库版本,我想将它放入另一个分支 -- 但我很困惑为什么该分支显示它已经拥有所有文件?

此外,为了提交到分支,我假设我只是 git checkout myBranch 然后 运行 addcommitpush 命令一次进入具体分支?

编辑: 我假设我看到了相同的文件,因为我在同一个 "physical location" 并且它没有考虑我所在的分支,我我猜我是被 this page 提到它搞糊涂了。

所以我想我的附加问题是,有没有办法查看您当前所在分支内的文件?

what I don't understand is that how come when I do an ls when I'm inside a new branch it shows the same files as the master branch?

在Git中,分支只是指向提交的指针。分支 "contain" 多个提交,只要每个提交都知道自己的父项。

如果您从 master 创建一个新分支 newbranchnewbranch 最初将指向与 master:

相同的提交
C  [master][newbranch]
|
B
|
A

除非您在其中一个分支中创建新提交,这两个分支也会移动其分支指针,例如在 newbranch 中创建一个新的提交将导致这样的结果:

D  [newbranch]
|
C  [master]
|
B
|
A

So I guess my additional question is, is there a way to view files within the branch you are currently in?

如上所述,一个分支指向一个提交。

跟踪的内容(通常是您存储库中的大部分内容)对您检出的分支敏感。因此,如果上面的提交 D 包含对 somefile.txt 的更改,切换分支将导致 somefile.txt 更改。

未追踪的内容完全不在Git的权限范围内,并且在您更改分支时根本不会被修改。