u011947630
sun123704
采纳率100%
2019-04-17 18:58 阅读 3.2k

git入门小白,想请教下git clone之后如何在本地查看非master分支的代码呢

比如我在Ubuntu系统下用git:
远程仓库origin包含两个分支master和dev,git clone之后默认文件夹显示的是master分支的代码,之后可以在当前目录下checkout切换到dev分支。我理解这样我当前命令行下是处于dev分支,那我如何具体查看dev分支的代码呢?可视化的代码仍然是master分支下的啊。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    JKL852qaz 林兴洋 2019-04-17 19:50

    不知道你是不是哪步操作错了,几个命令

    git branch 查看本地仓库分支
    git branch --remote 查看远程仓库分支
    git branch branchname 创建名为branchname的分支
    git checkout branchname 切换分支为branchname
    git push <remote> <branch> 推送分支到远程仓库
    

    当前我这个testBrach是从刚创建的,然后拉取下来,是个空仓库

    testBranch# ll
    total 12K
    drwxr-xr-x 3 root root 4.0K Apr 17 19:21 ./
    drwxr-xr-x 4 root root 4.0K Apr 17 19:21 ../
    drwxr-xr-x 7 root root 4.0K Apr 17 19:21 .git/
    

    当前使用git branch没有输出任何分支

    testBranch# git branch
    

    在当前的仓库下创建一个文件叫master里面写一句话,然后提交到远程master分支

    testBranch# vi master
    this is master
    
    testBranch# git add .
    
    testBranch# git commit -m "add master"
    [master (root-commit) 6dd57c5] add master
     1 file changed, 1 insertion(+)
     create mode 100644 master
    
    testBranch# git push origin master
    Counting objects: 3, done.
    Writing objects: 100% (3/3), 220 bytes | 0 bytes/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To /home/git/temp/testBranch/
     * [new branch]      master -> master
    

    这下远程和本地都有master分支了,并且当前分支下有一个 master文件

    testBranch# git branch
    * master
    
    testBranch# git branch --remote
      origin/master
    testBranch# ll
    total 16K
    drwxr-xr-x 3 root root 4.0K Apr 17 19:23 ./
    drwxr-xr-x 4 root root 4.0K Apr 17 19:21 ../
    drwxr-xr-x 8 root root 4.0K Apr 17 19:24 .git/
    -rw-r--r-- 1 root root   15 Apr 17 19:23 master
    

    然后我们创建一个dev分支,切换到dev分支。

    testBranch# git branch dev
    testBranch# git checkout dev
    * dev
      master
    testBranch# ll
    total 16K
    drwxr-xr-x 3 root root 4.0K Apr 17 19:23 ./
    drwxr-xr-x 4 root root 4.0K Apr 17 19:21 ../
    drwxr-xr-x 8 root root 4.0K Apr 17 19:32 .git/
    -rw-r--r-- 1 root root   15 Apr 17 19:23 master
    

    这里会有master文件是因为dev分支是从master出来的,我们在T1时刻已经提交了master文件,所以T2时刻dev分支从master分支出来,会包含T2时刻master包含的所有文件。

    图

    为了这里演示我就把master删除,然后创建了一个dev文件,也写了一句话,然后提交dev分支

    testBranch# git rm master
    rm 'master'
    
    testBranch# vi dev
    this is dev
    
    testBranch# git add .
    
    testBranch# git commit -m "add dev"
    [dev 155e4f5] add dev
     2 files changed, 1 insertion(+), 1 deletion(-)
     create mode 100644 dev
     delete mode 100644 master
    
    testBranch# git push origin dev
    Counting objects: 3, done.
    Writing objects: 100% (3/3), 240 bytes | 0 bytes/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To /home/git/temp/testBranch/
       6dd57c5..155e4f5  dev -> dev
    

    当前本地分支和远程分支都有master和dev了

    root@iZbp1ccq9xttkzab5d3fc9Z:/home/linxingyang/workdir/git/testBranch# git branch
    * dev
      master
    root@iZbp1ccq9xttkzab5d3fc9Z:/home/linxingyang/workdir/git/testBranch# git branch --remote
      origin/dev
      origin/master
    

    先查看当前分支(dev)下面的内容,然后切到master分支,在切回dev分支,可以看到工作目录对应的文件是有变化的。

    /testBranch# ll
    total 16K
    drwxr-xr-x 3 root root 4.0K Apr 17 19:40 ./
    drwxr-xr-x 4 root root 4.0K Apr 17 19:21 ../
    -rw-r--r-- 1 root root   12 Apr 17 19:40 dev
    drwxr-xr-x 8 root root 4.0K Apr 17 19:44 .git/
    
    
    testBranch# git checkout master
    Switched to branch 'master'
    Your branch is up-to-date with 'origin/master'.
    testBranch# ll
    total 16K
    drwxr-xr-x 3 root root 4.0K Apr 17 19:46 ./
    drwxr-xr-x 4 root root 4.0K Apr 17 19:21 ../
    drwxr-xr-x 8 root root 4.0K Apr 17 19:46 .git/
    -rw-r--r-- 1 root root   15 Apr 17 19:46 master
    
    testBranch# git checkout dev
    Switched to branch 'dev'
    testBranch# ll
    total 16K
    drwxr-xr-x 3 root root 4.0K Apr 17 19:46 ./
    drwxr-xr-x 4 root root 4.0K Apr 17 19:21 ../
    -rw-r--r-- 1 root root   12 Apr 17 19:46 dev
    drwxr-xr-x 8 root root 4.0K Apr 17 19:46 .git/
    
    
    点赞 评论 复制链接分享
  • qq_41969216 得德 2019-04-17 19:29

    dev分支下git pull origin dev,把远程仓库dev分支里的代码更新到本地dev分支

    点赞 评论 复制链接分享

相关推荐