GIt仓库

一、把文件提交到版本库:git

二、版本回退:github

三、还原文件操做:spa

四、撤销修改:指针

五、删除文件:日志

六、添加远程库:开发

七、从远程库克隆:rem

八、建立和合并分支:it

九、解决冲突:ast

十、分支管理:stream

十一、Bug分支:

十二、feature分支:

1三、多人协做:

 

 

开始:

  1. 在电脑中有一个合适的位置建立一个空的文件夹
  2. 经过git init命令将这个文件夹变成Git可管理的仓库

把文件提交到版本库:

  1. 用git add + 文件名 将这个文件添加到暂存区
  2. git commit -m"" 在暂存区的文件提交到当前的分支。   引号内部是对本次提交的一个说明,要有意义的,这样就能从历史记录中找到改动记录。

  commit能够一次提交不少的文件,因此你能够屡次add不一样的文件而后再一次行commit。

版本回退:

  Git仓库中有一个HEAD指针,指向的是当前版本,Git能够在版本的历史之间来回穿梭:git reset --hard commit-id

  穿梭到前面的版本:可使用git log查看提交日志,方便肯定回退到哪个版本。

  回来将来的版本: 用git reflog查看历史命令

还原文件操做:

  git checkout -- <filename> 会产生两种状况:一、在你作出修改后尚未添加到暂存区,如今撤销就是回到和版本库一摸同样的状态。 二、添加到了暂存区,又做了修改,如今撤销就是回到添加到暂存区后的状态

  总之就是能够回到最近一次git commit 或git add 时的状态

撤销修改:

  添加到了暂存区尚未提交,可使用git reset HEAD <filename>能够把暂存区的修改撤销掉,从新放回到工做区。

删除文件:

  在文件管理器中能够直接rm <filename>可是这时候工做区和版本库就不一致了

  两个选择:一、肯定要从版本库中删除该文件,就用git rm <filename>进行删除, 而且进行git commit。 二、删错了,那么版本库中仍是存在的,可使用git checkout -- <filename>将误删的文件恢复到最新版本。

  删除GitHub上的文件:git rm -r --cached <文件名>  完成这步操做以后还须要将此次操做进行一次commit,而后才能完成删除的整个过程

  git rm用于删除文件,若是文件已经被提交到了版本库,那没必要担忧误删,可是只会恢复到最新的一次提交,会丢失最近一次提交后修改的内容。

添加远程库:

  1. 登录GIthub,建立一个新的仓库
  2. git remote add origin git@github.com:帐户名字/仓库名字.git(origin是远程库的名字,轻易不要进行修改)
  3. 将本地库的内容推送到远程库中:git push -u origin master  (将本地的master分支推送到远程的master分支上)

  因为刚开始远程库是空白的,因此第一次推送master时要加上-u,以后Git不但会把本地的master分支上的内容推送到远程新的master分支,还会吧本地和远程链接起来,之后再推送就能够git push origin master

从远程库克隆:

  git clone git@github.com:帐户名/仓库名.git

建立和合并分支:

  一开始master是一条线,Git用master指向最新提交,再用HEAD来指向master。每次提交master都会迁移一步,随着不断提交,master分支会愈来愈长。

  建立分支:建立一个dev分支并切换到dev分支:git checkout -b dev 这是将两步合成了一步一、git branch dev:建立dev分支 二、git checkout dev :切换到dev分支

  建立完成分支以后,进行你想要进行的一些修改,而后再切回到master分支

  合并分支:git merge + <分支名>用于合并指定的分支,直接将master指向了dev分支,在完成以后就能够删除dev分支了:git branch -d dev

解决冲突:

  当Git没法自动合并分支时,必须手动进行合并,解决以后再进行提交,合并完成。(其实就是把Git合并失败的文件手动编辑为咱们但愿的文件,再进行提交)

  git log --graph --pretty=oneline -abbrev-commit :查看分支合并图

分支管理:

  Fast Forward模式:这种方式删除分支会丢掉分支信息(Git默认的就是使用的这种方式)  

  如何要禁止Fast Forwar?  Git会在merge时生成一个新的commit,这就能够从历史上看出提交的信息了。

  建立dev分支

  修改文件并提交新的commit

  切回到master(主分支)

  最后进行合并分支git merge --no-ff -m"" dev

  首先master应该是很是稳定的,仅是用来发布最新的版本,每一个人都应该拥有属于本身的分支,而后在dev上进行干活。

Bug分支:

  当出现Bug时,这时候手头上的工做也尚未完成,能够先git stash一下,而后去修改Bug,修复完成后,在git stash pop回到工做现场

feature分支:

  开发新的功能最好新建一个feature分支。

  若是要丢弃一个没有被合并过的分支,能够用git branch -D <分支名> 来进行强行删除

多人协做:

  从本地分支推送:git push origin branch-name  若是失败的话能够先git pull 一下抓去远程的最新提交。

  在本地建立和远程分支对应的分支:git checkout -b branch-name origin/branch-name  本地分支最好和远程分支名称保持一致

  创建本地分支和远程分支的关联:git branch --set-upstream branch-name origin/branch-name

  从远程抓取分支,用git pull 若是有冲突按照上面的方法解决冲突

相关文章
相关标签/搜索