zoukankan      html  css  js  c++  java
  • git分支问题 查看、创建、关联、删除本地/远程分支

    Git-查看远程分支、本地分支、创建分支

    1. 查看本地分支

    $ git branch
    * br-2.1.2.2
      master

    2. 查看远程分支

    $ git branch -r
      origin/HEAD -> origin/master
      origin/feature/IOS_visualtrack
      origin/feature/android_visualtrack
      origin/master

    3. 查看所有分支

    复制代码
    $ git branch -a
    * br-2.1.2.2
      master
      remotes/origin/HEAD -> origin/master
      remotes/origin/br-2.1.2.1
      remotes/origin/br-2.1.2.2
      remotes/origin/br-2.1.3
      remotes/origin/master
    复制代码

    4. 本地创建新分支(new-branch为新分支名

    复制代码
    $ git checkout -b new-branch


    查看一下现在的分支状态:
    $ git branch
    * new-branch
      master
      release

    星号(*)表示当前所在分支。现在的状态是成功创建的新的分支并且已经切换到新分支上。
    复制代码

    5. 把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名):

    这里以 new-branch 为例

    $ git push origin 本地分支名:远程分支名
    $ git push origin new-branch:new-branch

    使用git branch -a查看所有分支,会看到 remotes/origin/new-branch 这个远程分支,说明新建远程分支成功。

     6. 讲本地分支与远程关联

    git branch --set-upstream-to=origin/remote_branch  your_branch
    ============================
    => remote_branch 远程分支名
    => your_branch 本地分支名
    ============================
    eg:
    git branch --set-upstream-to=origin/dev  dev
    把本地dev分支和远程dev分支相关联。

      

    7. 删除远程分支
    我比较喜欢的简单方式,推送一个空分支到远程分支,其实就相当于删除远程分支:
    $ git push origin :new-branch
    
    或者
    $ git push origin --delete new-branch

    这两种方式都可以删除指定的远程分支

    8. 删除本地分支

    $ git branch -D new-branch

    9. git commit -m 注释换行

    git commit -m 注释可以通过单引号来换行,比如:

    复制代码
    $ git commit -m '
    > 1.aaaaa
    > 2.bbbb
    > '
    [master b25154b] 1.aaaaa 2.bbbb
     1 file changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 ss.txt
    复制代码

    10 github远程建了分支,本地看不到的问题 => $ git pull

     

    原因:Git  branch -a 查看的是本地仓库的所有分支  远程新建的没有同步前 就是看不到 

    解决:$git checkout master   //首先切到master分支

              $git pull //同步下master   或者 git fetch --all

             $git branch -a   //查看所有本地查库分支

    然后你会发现本地仓库的分支是远程最新的所有分支了

    11 git已经删除了远程分支,本地仍然能看到

    1. 使用 git branch -a 命令可以查看所有本地分支和远程分支,发现很多在远程仓库已经删除的分支在本地依然可以看到。
    2. 使用命令 git remote show origin,可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息。

    3. 此时我们可以看到哪些远程仓库已经不存在的分支,根据提示,使用 git remote prune origin 命令:

      这样就能成功在本地删除远程不存在的分支。

    12 撤回操作:

    撤销 git add . 

    git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
    git reset HEAD XXX/XXX/XXX.js 就是对某个文件进行撤销了
    

    撤销 git commit -m '本次修改说明'

    git reset --soft HEAD^
    
     
    
    这样就成功的撤销了你的commit
    
    注意,仅仅是撤回commit操作,您写的代码仍然保留。
    
     
    
     
    
    说一下个人理解:
    HEAD^的意思是上一个版本,也可以写成HEAD~1
    
    如果你进行了2次commit,想都撤回,可以使用HEAD~2
    
     
    
    至于这几个参数:
    --mixed 
    意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
    这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
     
    
    --soft  
    不删除工作空间改动代码,撤销commit,不撤销git add . 
     
    --hard
    删除工作空间改动代码,撤销commit,撤销git add . 
    
    注意完成这个操作后,就恢复到了上一次的commit状态。
    
     
    
     
    
    顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:
    git commit --amend
    
    此时会进入默认vim编辑器,修改注释完毕后保存就好了。
    

    13 平时工作代码应该注意(分支过多的情况)

    拉取代码应该:git pull origin you_branch_name

    合并完成解决冲突后提交代码:git push origin you_branch_name

    14 将本地项目推送到远端仓库  

    =>  cd  youProject
    =>  git init 
    =>  $ git remote add origin gitUrl地址
    =>$ git push -u origin master -f
    
        note:这里如果报错 根据提示在后边添加 -f
                首次提交需在 origin 前边添加 -u
    

    15 TODO

  • 相关阅读:
    【C#】解析C#中LING的使用
    【Android】解析Paint类中Xfermode的使用
    【Android】解析Paint类中MaskFilter的使用
    【C#】C#对电子邮件的收发操作
    【Linux】linux/unix下telnet提示Escape character is '^]'的意义
    【Linux】CentOs中yum与rpm区别
    【C#】C#对Excel表的操作
    【SqlServer】解析SqlServer中的事务
    【Android】Android传感器
    【SqlServer】SqlServer的异常处理
  • 原文地址:https://www.cnblogs.com/xiaomaotao/p/11588487.html
Copyright © 2011-2022 走看看