git基础

2019-11-07  本文已影响0人  Daisy小朋友

1 git简介

版本控制:是指通过记录软件开发过程中的源代码。配置工具环境,数据等的历史信息,快速重现和访问任意一个修订版本。
版本控制是团队协作交付软件的基础,应支持团队间所有变更历史的详细信息查询及共享,包括修改人员,修改时间,文件内容以及注释信息等,通过有效信息共享,加快问题定位和沟通协作效率。
需求:1 记录变更 2 合并,冲突检测 3 多分支
历史:
1992 -linux系统
2002年-bitkeeper,期间手工合并源码
2005年合作破裂,之后开发了git
2008 github上线
对比:
svn-集中式版本控制
git-分布式版本控制,local repository,本地开发即可,需要的时候去和远端更新


图片.png

2 git大特性

3 专业术语

4 git命令

配置用户信息,开启颜色显示

$ git config --global user.name "your name"
$ git config --global user.email "you email"
$ git config --global color.ui auto

上面配置会写入到.gitconfig 目录:/c/Users/daisy
配置ssh协议连接,私有项目
ssh-keygen -t rsa -C "your identity message"
基本命令

$ git init  //基于目录创建本地库,会创建.git隐藏目录
$ git status //查看状态,红色代表未纳入版本控制的文件
$ git log --oneline  //简略的查看log信息
$ git log --oneline --decorate --all --graph  //图形化查看
$ git merge fetch1  //当前在master分支下,将fetch1上的所有改动merge到master下,这个时候很容易出现冲突,git status可以查看你冲突的内容,所以尽量一些小的改动就merge到master分支上,修改后加入缓冲区再提交
$ git cherry-pick -s -x e016f48  
//cherry-pick  仅仅将需要的代码提交,-s添加签名信息 -x归溯信息 commit也可添加这个,如图,git log查看时会多一些签名信息
$ git revert e016f48  //revert把一些提交入库的命令回退
$ git rebase -i master  //打开后显示注释信息,并修改那些提交那些删除,相当于fetch2中的分支历史转移到master上,就像是基于,matser分支修改的一样,rebase会识别出来之前,跳过cherry -pick的提交rebase 分支数,parent,merge是所有的,cherry-pick是一个一个的,rebase是批量的cherry-pick
可以把提交历史整理的非常规整
$ git push origin test  //将本地分支push到远程分支,单单git push会有提示,此时远端就有test这个分支了
$ git fetch origin //拉取远端的改动

5 git使用标准

基本顺序
你修改好了代码,先要提交
git commit -am “commit message"
然后有两种方法来把你的代码和远程仓库中的代码合并
a. git pull这样就直接把你本地仓库中的代码进行更新但问题是可能会有冲突(conflicts),个人不推荐
b. 先git fetch origin(把远程仓库中origin最新代码取回),再git merge origin/master(把本地代码和已取得的远程仓库最新代码合并),如果你的改动和远程仓库中最新代码有冲突,会提示,再去一个一个解决冲突,最后再从1开始
如果没有冲突,git push origin master,把你的改动推送到远程仓库中

七步工作法

图片.png
分支策略

1 每天像主干合并一次代码
2 让分支的生命周期尽量的短(少于一天)
3 同一时间少于三条活跃分支
4 避免使用代码线锁定的方式进行被动管理

上一篇 下一篇

猜你喜欢

热点阅读