• git分支与版本管理、版本回退、冲突解决记录


    一.基础使用

    1.初始化本地仓库

    git init

    2.关联远程仓库

    git remote add origin git@github.com:用户名/仓库名.git 

    3.添加远程仓库文件到本地

    git pull origin master
    • 本地自动创建master分支用于跟踪远程origin/master分支

    4.创建本地分支

    
    $ git checkout -b 新的分支名
    Switched to a new branch "新分支名"
    
    • 和以下效果等价
    
    $ git branch 新分支名 (新建分支)
    $ git checkout 新分支名 (跳转到新分支)
    
    • 新建分支以创建新分支时所在的分支为源,比如在master中创建仓库,新分支的初始内容和创建时master相同,这点可用于版本管理。

    注意:在分支间跳转本地文件会切换到分支的文件状态,当提交修改提交到master,切换到其他分支,合并分支,git merge master,分支合并不止分支合到主分支,也可主合到分支。所以不论你在本地将修改提交到那个分支,可通过合并分支实现本地分支保持一致,将修改添加到其他分支。

    5.将本地分支push到远程仓库

    $ git push origin 分支名
    • 远程新增分支,和本地push上去的分支关联

    6.修改本地文件,并提交

    
    $ git add 文件名
    $ git commit -m 备注
    $ git push origin 分支名
    

    7.删除远程分支

    git push [远程名] :[分支名]

    栗子:如果想在服务器上删除serverfix 分支,运行下面的命令:

    
    $ git push origin :serverfix
    To git@github.com:schacon/simplegit.git - [deleted] serverfix
    

    8.文件重命名修改提交

    • 修改后直接用git commit -m 备注
    • 然后 git push origin 分支名

    注意:多个文件修改,可先将文件git add ,将文件都加进去,最后一次git commit ,git push origin --

    9.查看状态(是否有未跟踪文件,是否有已修改未提交文件等状态改变),push前可查看

    $ git status

    10.查看提交记录

    $ git log

    11.回退

    $ git reset 

    小结:

    注意:要关联本地和远程仓库,才可pull和push


    二.版本管理(与创建分支结合)

    1.master主要为发布版本,如果要进行修改则以master为源新建分支,并将分支push到远程,分支可命名为deveop1.0,或按照版本命名versin1.0,ersin2.1等。
    如果是添加功能可用feature,修补bug可用fix_bug;
    2.在分支中提交修改,确定合并分支到master

    
    $ git checkout master (回到主分支)
    $ git merge 分支名 (合并分支。本地合并)
    $ git push origin master(将主分支修改push到远程,远程合并)
    


    三.版本回退

    1.当已经提交修改,但是想回到修改前的样子时,可使用版本回退

    $ git reset --hard HEAD^ (查找版本号)
    HEAD is now at f8dce4b 完成成就界面设计及编码,根据数据内容显示功能实现//“f8dce4b是版本号,后面紧跟着的是commit注释”
    $ git reset --hard HEAD^
    HEAD is now at 1bc0043 Merge branch 'master' of put-me-down

    2.找到想要的那个版本的版本号后进行回退

    $ git reset --hard f8dce4b(版本号)u
    HEAD is now at f8dce4b 完成成就界面设计及编码,根据数据内容显示功能实现


    四.merge时出现冲突

    1.合并分支语句

    $ git merge 分支名

    2.在写合并分支语句之前把要合并的分支的内容pull下来,如将主分支pull下来

    $ git pull origin master
    • pull 会出现冲突,pull下来的版本比本地版本更新,可以用git status 看存在哪些冲突,打开文件进行修改,如果要保存原来版本,可在修改前用下列语句存储代码:
      (点击这里)

    • 和分支进行合并的时候(git merge 分支名),会出现冲突,同样用git status进行查看冲突,或者运行代码看报错情况,对冲突进行修改。修改后要用git status 查看情况:

    • 看提示,要将修改的代码add,add后不能git commit -m "...",git push origin 分支名,这样会报错,提示存在未合并的文件,不可提交,按照git status 的提示,将需要add的文件都add ,

    • 然后用git commit 提交,会进入vim 编辑器,写提交备注,

    • 将冲突都解决,并提交后,程序试运行,看是否能跑,能跑再push


    五.vim编辑器的简单使用

    1.可用下列语句恢复

    
    shift + c 键-- 进入编辑状态
    esc键 --退出编辑状态
    退出编辑状态后后“:+wq”退出编辑器
    

    六.保存文件

    1.保存

    $ git stash save "...."

    2.可用下列语句恢复

    $ git stash apply 
  • 相关阅读:
    static和final
    java面向对象白话解说
    方法
    数组
    JDK的安装和java程序的开发步骤以及环境变量配置
    VS2010 根据模型生成数据库 打开edmx.sql文件时 vs出现无响应的解决方案
    js简易写法
    .NET程序性能优化基本要领
    数据采集类
    ASP.NET MVC 3 配置EF自动生成模型
  • 原文地址:https://www.cnblogs.com/linjin/p/6063813.html
Copyright © 2020-2023  润新知