使用 Git 个分支 - 查看/添加并提交给它们
Working with Git branches - Viewing / Adding and Commiting to them
我一直在阅读有关使用 Git branches
的信息,我知道如何创建它们并进入它们,但我不明白的是,当我做一个ls
当我在一个新分支中时,它显示与 master
分支相同的文件?
我正在尝试创建一个略有不同的库版本,我想将它放入另一个分支 -- 但我很困惑为什么该分支显示它已经拥有所有文件?
此外,为了提交到分支,我假设我只是 git checkout myBranch
然后 运行 add
、commit
和 push
命令一次进入具体分支?
编辑: 我假设我看到了相同的文件,因为我在同一个 "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
创建一个新分支 newbranch
,newbranch
最初将指向与 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的权限范围内,并且在您更改分支时根本不会被修改。
我一直在阅读有关使用 Git branches
的信息,我知道如何创建它们并进入它们,但我不明白的是,当我做一个ls
当我在一个新分支中时,它显示与 master
分支相同的文件?
我正在尝试创建一个略有不同的库版本,我想将它放入另一个分支 -- 但我很困惑为什么该分支显示它已经拥有所有文件?
此外,为了提交到分支,我假设我只是 git checkout myBranch
然后 运行 add
、commit
和 push
命令一次进入具体分支?
编辑: 我假设我看到了相同的文件,因为我在同一个 "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 themaster
branch?
在Git中,分支只是指向提交的指针。分支 "contain" 多个提交,只要每个提交都知道自己的父项。
如果您从 master
创建一个新分支 newbranch
,newbranch
最初将指向与 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的权限范围内,并且在您更改分支时根本不会被修改。