Git命令简单总结

集中式vs分布式

svn集中式:版本库是集中存放在中央服务器的,须要联网才能工做 git

git 分布式:每一个人的电脑上都是一个完整的版本库 github

和集中式版本控制系统相比,分布式版本控制系统的安全性要高不少,由于每一个人电脑里都有完整的版本库,某一我的的电脑坏掉了没关系,随便从其余人那里复制一个就能够了。而集中式版本控制系统的中央服务器要是出了问题,全部人都无法干活了。安全

基本命令

初始化仓库:git init 服务器

把文件添加到仓库:git add a.txt 添加到暂存区(state)markdown

把文件提交到仓库:git commit -m '注释信息' ssh

仓库状态:git status分布式

查看修改内容:git diffsvn

显示最近到最有远的提交日志:git loggit log --pretty=onelinespa

版本回退

  • git reset --hard HEAD^ 回退到上一版本
  • git reset --hard HEAD^ 回退到上上版本
  • git reset --hard HEAD~100 回退到上100个版本
  • git reset --hard 具体版本号 回退到具体版本号

记录每一次命令 : git reflog版本控制

git checkout -- readme.txt

命令git checkout -- readme.txt意思就是,把readme.txt文件在工做区的修改所有撤销,这里有两种状况:

一种是readme.txt自修改后尚未被放到暂存区,如今,撤销修改就回到和版本库如出一辙的状态;

一种是readme.txt已经添加到暂存区后,又做了修改,如今,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commitgit add时的状态。

删除

删除文件后,Git知道你删除了文件,所以,工做区和版本库就不一致了,git status命令会马上告诉你哪些文件被删除了:

如今你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm filename 删掉,而且git commit

另外一种状况是删错了,由于版本库里还有呢,因此能够很轻松地把误删的文件恢复到最新版本: git checkout -- filename

远程仓库

git config -- global user.name 'GitHub用户名 '

git config --global user.email '注册邮箱'

ssh-keygen -t rsa -C 'GitHub的注册邮箱'

git remote add origin 远程仓库地址 :关联远程仓库

git remote rm origin :删除关联

git push origin master : 推送 (第一次 加上-u 就会一直关联这个地址,就不须要再写origin master)

git pull origin master --allow-unrelated-histories:若是本地仓库和远程库有冲突,好比GitHub上有markdown文件,则加上 --allow-unrelatered..

git clone git@github.com:rottengeek/test.git:克隆远程库到本地

分支

git branch 分支名:建立分支

git checkout 分支名:切换分支

git checkout -b 分支名 :建立与切换同时进行

git branch :列出全部分支

git merge dev :把dev分支的工做成果合并到master分支上

git branch -d 分支名 : 删除分支

分支策略

在实际开发中,咱们应该按照几个基本原则进行分支管理:

首先,master分支应该是很是稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,好比1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每一个人都在dev分支上干活,每一个人都有本身的分支,时不时地往dev分支上合并就能够了。

因此,团队合做的分支看起来就像这样:

clipboard.png

多人协做

clipboard.png

相关文章
相关标签/搜索