Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Git分支和ls_Linux_Git_Git Branch - Fatal编程技术网

Linux Git分支和ls

Linux Git分支和ls,linux,git,git-branch,Linux,Git,Git Branch,我不确定这是否是问这个问题的正确地方,如果不是,请重定向我 我是git新手,在学习git的过程中,我偶然发现了这一点。 git branchName和“ls”是如何相互作用的。 例如: 如果我有一个主分支和测试分支,并且测试分支与主分支相比有一个额外的测试文件。 现在,在主分支中,如果我ls,我将看不到测试文件,但是在切换到测试分支和ls之后,我将看到测试文件 kiran@kiran-desktop:/media/kiran/Linux_Server/dev$ git branch mast

我不确定这是否是问这个问题的正确地方,如果不是,请重定向我

我是git新手,在学习git的过程中,我偶然发现了这一点。 git branchName和“ls”是如何相互作用的。 例如: 如果我有一个主分支和测试分支,并且测试分支与主分支相比有一个额外的测试文件。 现在,在主分支中,如果我
ls
,我将看不到测试文件,但是在切换到测试分支和
ls
之后,我将看到测试文件

kiran@kiran-desktop:/media/kiran/Linux_Server/dev$ git branch
  master
* test
kiran@kiran-desktop:/media/kiran/Linux_Server/dev$ git checkout master
M   editor/editor_parts/syntax/operator_syntax.js
Switched to branch 'master'
kiran@kiran-desktop:/media/kiran/Linux_Server/dev$ ls
cgi-bin     index.php                    misc           underConstruction
editor      jquery-1.5.2.min.js          php.php        userManage
fileManage  jquery-ui-1.8.11.custom.css  projectManage  userPages
images      login                        test.php
kiran@kiran-desktop:/media/kiran/Linux_Server/dev$ git checkout test
M   editor/editor_parts/syntax/operator_syntax.js
Switched to branch 'test'
kiran@kiran-desktop:/media/kiran/Linux_Server/dev$ ls
cgi-bin     index.php                    misc           test.php
editor      jquery-1.5.2.min.js          php.php        underConstruction
fileManage  jquery-ui-1.8.11.custom.css  projectManage  userManage
images      login                        testFile.txt   userPages
kiran@kiran-desktop:/media/kiran/Linux_Server/dev$ 
但是来自两个分支的
pwd
显示相同的位置


那么,切换分支如何改变
ls
(据我所知,这是linux的一个功能)的输出呢?

Git不同于SVN,它将分支保存在不同的目录中,只将当前的工作分支保存在存储库目录中


所有分支(实际上,所有对象)都存储在repo根目录中的“.git”文件夹中,并且在签出特定分支时,仅存在属于特定分支的文件。(以及那些未添加到repo的文件)

Git不同于SVN,它将分支保存在不同的目录中,只将当前工作分支保存在存储库目录中


所有分支(实际上,所有对象)都存储在repo根目录中的“.git”文件夹中,并且在签出特定分支时,仅存在属于特定分支的文件。(以及那些未添加到repo的文件)

git checkout
将您从一个分支切换到另一个分支。为此,它将签出存储库中的文件替换为分支中的文件

您的存储库实际上是
.git
子目录

如果您执行一个
ls-a
,您将看到:

% ls -a -1
.git
.gitignore
...
跟踪文件存储在其中。通常只会看到当前签出的分支。当您签出另一个分支时,git从
.git
获取文件,您可以使用
ls
查看这些文件


有关git如何工作的更多信息,请查看此问题的答案:

git checkout
将您从一个分支切换到另一个分支。为此,它将签出存储库中的文件替换为分支中的文件

您的存储库实际上是
.git
子目录

如果您执行一个
ls-a
,您将看到:

% ls -a -1
.git
.gitignore
...
跟踪文件存储在其中。通常只会看到当前签出的分支。当您签出另一个分支时,git从
.git
获取文件,您可以使用
ls
查看这些文件

有关git如何工作的更多信息,请查看此问题的答案: