git版本管理工具

导读:本篇文章讲解 git版本管理工具,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1. git和github

git是代码版本控制工具,github是基于git实现的代码管理平台

  • 分布式版本控制

本地仓库和远程仓库结合,而中央集中式版本控制中依赖于远程仓库。

  • 多人协调工作,上传或查看代码
  • 有效监听谁修改代码
  • 本地及远程操作

2. git工作流

工作流较多,但均可以取其精华去其糟粕。

参考链接:git的各种工作流_Peace-CSDN博客_git工作流

  • 集中式工作流

三到五人的小团队

相关命令:

  1. git clone
  2. git pull
  3. git push
  • 功能分支工作流

8到12人团队

相关命令:

  1. git clone
  2. git pull
  3. git push
  4. git checkout
  5. git branch
  • gitflow工作流

适用于整个大项目的团队,仓库包括master,develop,release,hotfix以及各种feature分支。

  1. develop是专门用作开发的分支,所有的feature分支都必须从develop分支pull下来。
  2. 当某个feature分支所有的功能均开发完毕,需pull request到develop分支;当merge成功后须告知其他feature分支重新pull新的develop分支,否则当其他分支pull request的会产生冲突。
  3. 开发每个feature分支时,每个功能最好在某个固定的功能目录下修改,切忌开发某个功能时修改另一个功能目录下的文件。
  4. 当所有feature功能开发完毕并测试通过后,将develop分支推送到release分支
  5. 项目测试人员在release分支上进行验证,验证通过后推送到master分支进行发布

详细参考:GitFlow 工作流 | 千锋教育

  • forking工作流

通常跨国团队合作使用

3. 基本命令

  • 仓库创建与拉取
  1. git init                                 //初始化本地git仓库
  2. git clone  http://<…>          //从远程仓库拷贝数据到当前目录,可能需要加.git
  3. git submodule update –init –recursive         //已有.gitmodule的情况下clone公共库
    git -c submodule.”qemu”.update=none submodule update –init –recursive           // 忽视添加某个工程

    创建调用公共库,参考该链接第2.2节:Git Submodule使用完整教程 – lsgxeva – 博客园

  • 文件管理:
  1. git diff <file>                                                 //修改工程后,查看某个文件的修改内容
  2. git add file                                                    //添加文件,形成文件队列
  3. git commit                                                    //将添加的文件提交到本地git仓库
  4. git rm –cached file                                       //将文件从队列中移除
  5. 创建 .gitignore文件,并在里面编辑需要忽略的文件名         //提交到本地仓库时忽略某些文件
  • 分支管理
    分支不会影响已完成功能的主线文件
  1. git branch  name                                           //创建分支name
  2. git checkout  name/master                            //切换到分支name/主线
  3. git merge  name                                            //先回到主线里,再输入此命令将分支添加到主线中去
  • 远程操作:
  1. git config
  2. git pull                                                       //从远程仓库拉取文件
  3. git push                                                    //将本地仓库文件推送到远程仓库
  4. git push origin <…>                                  //将本地仓库文件推送到远程指定仓库
  5. git fetch
  6. git remote                                          //查看有无远程仓库地址
    git remote add http://…                     //设置远程仓库地址,并取得连接
  • 版本操作:
  1. git log                                                 // 查看工程的git记录
  2. git reset
  3. git status       //查看文件添加或修改状态
     
  • tag操作:
  1. 切换到某个tag:git checkout <tag_name>
  2. 显示所有tag:git tag

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/82525.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!