• Git分支管理及常见操作


      众所周知,使用Git分支,我们可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

      既然要使用Git分支,这里就涉及到Git分支的管理及常见操作,如列出分支,分支的创建,分支的删除,分支的合并等操作。

      以前看到这就头痛,总是搞不明白,今天研究了许久才搞懂,这里做个笔记。

      如,我的Git工具安装在E盘>myGit中,安装后目录如下:

      

      我本地创建的仓库为myProject,首先我们可以先查看下本地仓库的分支情况。打开Git工具,操作如下。 

    jiangfeng@jiangfeng MINGW64 ~/桌面
    $ cd e:
    
    jiangfeng@jiangfeng MINGW64 /e
    $ cd mygit
    
    jiangfeng@jiangfeng MINGW64 /e/mygit
    $ cd git
    
    jiangfeng@jiangfeng MINGW64 /e/mygit/git
    $ cd myProject

      检查本地仓库分支,命令,git branch回车即可查看该仓库下的分支情况,如果没有创建的话,默认只有主分支master:

    jiangfeng@jiangfeng MINGW64 /e/mygit/git/myProject (master)
    $ git branch  查看该仓库下的分支情况
    * master

      

      下面,创建分支,如,我在该仓库下创建了分支test,然后在该分支下写了一个test.txt文件。那么这里就涉及到两个操作了,即分支的创建与切换。具体操作如下: 

    jiangfeng@jiangfeng MINGW64 /e/mygit/git/myProject (master)
    $ git branch test   test为创建的分支名
    
    jiangfeng@jiangfeng MINGW64 /e/mygit/git/myProject (master)
    $ git checkout test   从主分支master上切换到刚创建的分支test上
    Switched to branch 'test'
    
    jiangfeng@jiangfeng MINGW64 /e/mygit/git/myProject (test)
    $ echo "hello world!" >test.txt  在分支test里写入一个test.txt文件,文件内容为“hello world!”

      

      下面要将刚创建的文件写入到缓存区。操作如下:  

    jiangfeng@jiangfeng MINGW64 /e/mygit/git/myProject (test)
    $ git add .   将文件写入到缓存区中,注意add与句号间有空格
    warning: LF will be replaced by CRLF in test.txt.
    The file will have its original line endings in your working directory.

      

      然后要将缓存区内容test.txt文件添加到仓库,操作如下: 

    jiangfeng@jiangfeng MINGW64 /e/mygit/git/myProject (test)
    $ git commit -m "change log"  将缓存区内容添加到仓库
    [test afc4b17] change log
     1 file changed, 1 insertion(+)
     create mode 100644 test.txt

     

      下面要进行分支合并,即将新建的分支test合并到主分支master上,这里首先要将分支test切换到主分支master,然后进行分支合并。操作如下:

    jiangfeng@jiangfeng MINGW64 /e/mygit/git/myProject (test)
    $ git checkout master  切换分支test到主分支master上
    Switched to branch 'master'
    Your branch is up-to-date with 'origin/master'.
    
    jiangfeng@jiangfeng MINGW64 /e/mygit/git/myProject (master)
    $ git merge test  将分支test合并到主分支master上
    Updating 68d8bfc..afc4b17
    Fast-forward
     test.txt | 1 +
     1 file changed, 1 insertion(+)
     create mode 100644 test.txt

      

      如果,我们要将本地仓库里的内容提交到远程GitHub上,操作如下: 

    jiangfeng@jiangfeng MINGW64 /e/mygit/git/myProject (master)
    $ git push origin master  提交内容到远程GitHub上
    Counting objects: 3, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 282 bytes | 0 bytes/s, done.
    Total 3 (delta 1), reused 0 (delta 0)
    remote: Resolving deltas: 100% (1/1), completed with 1 local object.
    To https://github.com/leiwuhen-67/project.git
       68d8bfc..afc4b17  master -> master

      如果不想将新建分支test与主分支master合并,而是想将新建分支上的文件上传到远程对应的分支上,那么操作如下。首先应该在远程GitHub上建立与本地对应的分支。如我本地新建的分支为test,那么我在远程GitHub上新建的分支也应该为test,操作为:

      1、打开Git工具,进入到本地仓库,如我的是myProject,因为默认为主分支master,所以先要切换分支到test上,操作: git checkout test 

      2、在远程GitHub上新建分支test与本地对应,操作: git push --set-upstream origin test 

      3、如我现在在本地test分支上新建一个test.txt文件,文件内容为”hello world!” 操作为: echo "Hello world!" >test.txt 

      4、将新建文件添加到缓存区。操作为: git add . 

      5、将缓存区内容添加到本地仓库,操作为: git commit -m "测试分支" 

      6、将本地分支test的内容提交到远程GitHub上,操作为: git push origin test 

      7、删除远程分支: git push origin --delete <branchName> (或者: git push --delete origin <branchName>) 

      注意:第一次创建远程分支时需要执行步骤2,以后如果要将本地分支上内容提交到远程对应分支上直接git push即可

      最后要说的是,假如要获取远程分支test的内容到本地test分支上,应该如何操作呢?

      其实,很简单,打开Git工具,进入到本地分支所在的仓库,然后git pull origin test即可,例如我本地仓库在E盘>myGit>Git下,仓库名为myProject,那么我的操作依次为:

       cd e: 、 cd mygit 、  cd git 、 cd myproject 、 git pull origin test (因为我这里进去直接是test分支,若不是,则要先从主分支maste切换到test分支,在进行此操作)

      进行到这里,那么远程分支test里的内容已经获取到本地test分支上了。

      同样的,如果我想将本地分支test内容提交到远程分支master上,那么我的操作则为: git push origin master 

      

      总结:

      1、查看分支:git branch

      2、创建分支:git branch  分支名

      3、删除分支:git branch -d 分支名

      4、切换分支:git checkout 新建分支名

      5、合并分支:git merge 新建分支名

      6、建立远程分支:git push --set-upstream origin 分支名

      7、获取远程分支如test内容到本地分支test上:git pull origin test

      8、提交本地分支test内容到远程分支test上:git push origin test

      9、删除远程分支:git push origin --delete <branchName>(或者,git push --delete origin <branchName>)

      10、查看所有分支情况(本地和远程):git branch -a

      11、创建并切换分支:git checkout -b 分支名

      12、配置用户名和邮箱:

        git config --global user.name 用户名

        git config --global user.email 邮箱

      13、关联到远程仓库: 

        git remote add origin 远程仓库地址

      ps:假如服务器的某个分支删除了,但是本地通过git branch -a还是可以看得到,可通过以下命令更新分支的情况。git fetch origin --prune

  • 相关阅读:
    安装MySQL-python时报错
    人的成功平台很重要
    开源运维工具
    遗忘Windows Server 2008R2密码的处理方法
    操作系统下载和操作系统更新失败解决
    说说对SQL 语句优化有哪些方法?
    Git彻底删除历史提交记录的方法
    MSSQL备份脚本
    .NET Core Data Access
    各种数据库默认端口总结
  • 原文地址:https://www.cnblogs.com/jf-67/p/7230949.html
Copyright © 2020-2023  润新知