GitFlow教程

这份教程是博主学到的git基础,仅适合小团队使用,仅供参考

配置Git

配置github上面的账号,首先需要自己在git上注册一个账号

  1. git config --global user.name "Your Name in Github"
  2. git config --global user.email "email@domain.com"

创建仓库

  1. cd your_project_dir
  2. git init

克隆仓库

  1. git clone address

address是在github上面显示的克隆地址

添加管理

  1. git status # 随时查看管理的文件状态
  2. git diff file.txt # 查看file.txt这份文件相对于上一次的提交修改了什么
  3. git add file.txt # 确认这份文件的修改
  4. git add . # 可以一次性添加全部文件的修改
  5. git status # 查看状态更新
  6. git commit -m "Modify file.txt" # 提交一版更新

推送到Github

  1. git push origin master # 将当前分支推送到远程仓库上的master分支

如果没有配置过ssh,需要输入用户账号和密码

同步Github

  1. git pull origin master # 从远程仓库同步代码回来

分支管理

策略一:

多人协同工作,一个master分支,每一个人一个子分支,完成的子分支merge到master中

  1. git branch # 查看当前分支
  2. git checkout -b peopleA # 创建peopleA分支并切换到该分支
  3. git checkout peopleA # 切换到peopleA分支

策略二:

单人开发,一个master分支,一个dev分支,当通过的代码merge到master分支中,dev分支随意处理

  1. git branch # 查看当前分支
  2. git checkout -b dev # 创建dev分支并切换到该分支
  3. git checkout dev # 切换到dev分支

合并分支

  1. git checkout master # 切换回master分支
  2. git merge --no-diff peopleA # 适合策略一,保留分支历史
  3. git merge dev # 适合策略二,不保留分支历史

冲突处理

当merge和pull的时候都会有可能遇到冲突,执行相应的命令会有提示。

这时候使用开发工具查看代码中冲突的部分(下面类似的格式)解决冲突。

  1. ======
  2. >>>>>>abc
  3. <<<<<<

执行git commit得到解决冲突后的一个提交

解决冲突最后的办法:

回退到稳定的版本,手动合并文件,提交版本,强制覆盖推送

  1. git log --pretty=oneline # 查看提交日志的commit值
  2. git reset --hard 343n9n # 输入的是需要回退的版本的commit值
  3. # 手动合并文件
  4. git commit -m "a new commit" # 提交新版本
  5. git push origin master --force # 强制覆盖推送

后记

原则上足够小型开发使用了,有问题可以在评论区说明。

GitFlow教程的更多相关文章

  1. gitflow以及git

    git大概只会用常用的那几个命令,自己用的最多的也只是add commit push pull之类的,然后那天电话面试问我版本回退怎么办我都忘记了. 然后又看了看教程,此时想起来做项目的时候师兄说的g ...

  2. 【转】使用git、git-flow与gitlab工作

    转自:http://www.tuicool.com/articles/BZJRj2 使用git.git-flow与gitlab工作 时间 2013-11-02 00:40:39  Axb的自我修养 原 ...

  3. 【Github教程】史上最全github用法:github入门到精通

    原文 http://www.eoeandroid.com/thread-274556-1-1.html [初识Github] 首先让我们大家一起喊一句"Hello Github". ...

  4. 【转】Github入门教程

    原文 http://www.eoeandroid.com/thread-274556-1-1.html [初识Github] 首先让我们大家一起喊一句“Hello Github”.YEAH!就是这样. ...

  5. 使用git-flow来帮助管理git代码

    对git不熟悉的我,经常把git提交搞得很乱,导致在master上有许多无用的commit,最终决定好好地看一下git的使用教程,却不小心发现了还有一个git-flow的工具可以帮助我管理好git项目 ...

  6. 【Github教程】:github入门到精通

    [初识Github] 首先让我们大家一起喊一句"Hello Github".YEAH!就是这样. 原文 http://www.eoeandroid.com/thread-27455 ...

  7. 文科妹学 GitHub 简易教程

      #什么是 Github ?必须要放这张图了!!!<img src="https://pic4.zhimg.com/7c9d3403bf922b1663f56975869c829b_ ...

  8. 【转载】【收藏】Github上免费的编程教程【作者Victor Felder】

    原链接:https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books-zh. ...

  9. 【Github教程】史上最全github使用方法:github入门到精通

    原文 http://www.eoeandroid.com/thread-274556-1-1.html git pull 命令 git pull <remote> <branch&g ...

随机推荐

  1. swing 复选框

    通过   box1 和 box2的  public boolean isSelected()的方法 返回按钮的状态. 如果选定了切换按钮,则返回 true,否则返回 false.

  2. 织梦DedeCMS列表摘要 description 长度控制方法

    [field:description /]标签如何限制字数? [field:description function='cn_substr(@me,80)'/] DedeCMS 里的所有标记都支持这样 ...

  3. 实现弹出收回菜单效果ios源码

    REMenu能够提供下弹出来的菜单,跳转到不同的vc后菜单便会收起.菜单的弹收都有回弹(bounce)的效果.效果图: <ignore_js_op> 使用方法: 先把REMenu的文件夹复 ...

  4. 【转载】UML用例图

    用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示了一个外部用户能够观察到的系统功能模型图. [用途]:帮助开发团队以一种可视化的方式理解系统的功能需求. 用例图所包含的元素如下: 1. ...

  5. leetcode3:不重复的最长子串长度

    package hashmap; import java.util.HashMap; import java.util.Map; public class hashmap { public stati ...

  6. Linux命令学习---目录

    一.文件相关命令 1.文件显示 1)tail,head,more,less,cat,nl

  7. css3干货

    CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能. 目前主流浏览器chrome.safari.firefox.opera.甚至360都已经支持了CSS3大部分 ...

  8. UltraEdit20 注册

    UltraEdit v20下载与注册机 UltraEdit是一套功能强大的文本编辑器,可以编辑文本.十六进制.ASCII 码.HTML.PHP.Perl.Java 和 JavaScript等众多流行计 ...

  9. centos6.3安装nginx

    一般使用linux系统的不少网友可能都是直接使用一键安装包进行安装的,以前作者也这样,但是很多时候这些一键安装方便是方便但是可能在升级及其他很多地方不是很好,本文就说下在centos6.3安装ngin ...

  10. Ubuntu安装wps for linux

    1.WPS For Linux 2013 还是只提供了32位版本,我用的是 64位 Ubuntu,如果您也是64位系统,还需要提前安装一些32位的库文件. sudo apt-get install i ...