版本管理系统Git

 发布日期:2018-05-26 02:19:43  阅读次数:阅读数:50  来源:

版本管理系统Git

git下载链接:https://pan.baidu.com/s/12vJn-K0lK9XlkVQbNe8S-A 密码:m4mt

图形界面客户端链接:https://pan.baidu.com/s/1SM-qdo_JZluotoeAoTNyBw 密码:picl

1、版本控制工具优势
  • 查看版本历史记录
    • 查看成长记录
    • 版本回退
    • 明确责任人
  • 多人协作开发
    • 同步团队其它成员的代码
    • 在自己的分支上工作
  • 中心化和分布式
    • 中心化(SVN):代码管理服务器在一台核心服务器上,所有人都必须和代码服务器保持网络连通
    • 分布式(Git):中心仓库是GitHub,可以有很多本地仓库
2、GitHub的注册与使用
  • Clone与Fork
  • Download

  • Git的安装与配置

3、Git常用命令
  • 本地仓库
    • 创建本地仓库
    • cd xxx #这里的xxx路径,是Linux风格路径,Windows上可以使用拖拽文件夹的方式自动形成
    • git init
    • 本地提交
    • git add xxx
    • git commit xxx -m “xxx”
    • 比较和查看日志
    • git status
    • git diff
    • git log
      • git log –pretty=oneline
    • git reflog #查看所有分支的所有操作记录(包括被删除的)
    • 版本回滚
    • git reset –hard
      • HEAD^
      • HEAD^^
      • HEAD~100
      • 具体版本号
    • git checkout – filename #检出文件(注意空格)
      • 如果add但没有commit时,检出的是缓存区的内容
      • add且commit了时,检出的是版本区的内容
      • 优先检出缓存区而不是版本区
    • 添加忽略
    • touch .gitignore
    • vim .gitignore
      • i // 进入编辑模式
      • esc,: // 进入命令模式
      • 在冒号后输入wq // 保存退出命令
  • 添加公钥到github账号
    • ssh-keygen -t rsa -C “your email”
    • cat id_rsa_pub
    • ssh-agent bash
    • 启动ssh-agent
    • ssh-add sirouyang
    • 绑定私钥
    • ssh -T git@github.com
    • 秘钥配对测试
  • 本地仓库关联远程仓库
    • cd local_repo_path
    • git remote add origin your_repo_address
    • git remote rm origin
    • git pull origin master
    • –allow-unrelated-histories #同意合并不相干的历史时
    • git push origin master
  • 操作远程仓库
    • git clone your_repo_address
    • #注意克隆下来的分支只是master分支,在分支上工作需要克隆后再做一下拉取分支的工作
    • git add .
    • git commit . -m “xxx”
    • git push origin master
  • 分支
    • 分支相关命令
    • —–↓创建和切换分支—–
    • git branch #查看所有分支
    • git branch 分支名 # 创建本地分支
    • git checkout 分支名 #切换到指定分支
    • git checkout -b 分支名 #创建并切换到分支
    • —–↓删除分支—–
    • git branch -d 分支名 #删除本地分支
    • git push origin –delete 分支名 # 删除远程分支
    • —–↓推拉分支—–
    • git pull origin 分支名 #拉取分支
    • git push origin 分支名 #推送分支
    • git push –set-upstream origin 分支名 #推送分支
    • —–↓合并分支—–
    • git merge 分支名 #合并分支(要先checkout到主分支)
    • —–↓查看合并历史—–
    • git log –graph #查看分支合并图
    • git log –graph –all // 命令行查看分支合并图
    • gitk –all // gitk工具查看分支合并图
    • git gui(启动后:repository–>visual all branch history) // gui工具查看分支合并图
    • 分支合并策略
    • master只要稳定上线版
    • dev是开发版,稳定后合并到master
    • 其余分支一边开发一边合并到dev
    • 分支案例
    • 张三克隆项目
    • 张三创建分支并push
    • 张三独自开发、提交、push
    • 历时做和张三相同的事情
    • dev分支合并张三分支
    • dev分支push
    • master合并dev分支
    • master分支push
4、解决冲突
  • 冲突案例
    • master提交公共资源
    • 张三拉取并修改公共资源
    • 张三提交并push分支
    • 李四拉取并修改公共资源,意见与张三不一致
    • 李四提交并push分支
    • dev合并张三分支
    • dev合并李四分支
    • dev处理冲突
    • dev提交并push分支
    • master合并dev分支
    • master分支push
  • 两个成员修改了相同文件的相同代码段,冲突爆发时机:
    • dev进行合并时
    • 拉取冲突分支的代码
    • 相同分支上的不同账号,后提交的那一个会发生冲突
  • 解决:删除冲突标记+修改为意见统一的代码
5、标签
  • git tag # 查看所有标签
  • git tag v1.0 # 给当前版本打标签,名称是任意的
  • git tag -d v1.0 # 删除指定标签(它对应的版本序号依然是存在的)
  • git push origin v1.0 # 推送标签到远程仓库
  • git push origin –tags # 一次性推送多个标签到远程
  • git checkout v1.0 # 切换到指定标签所对应的版本
  • git show v1.0 # 查看标签信息
6、多人协作开发
如果您有好的新闻与建议,欢迎点击文章投稿

    发表评论

    电子邮件地址不会被公开。

  • 内容

  • 网名