GIT分布式版本控制
- 下载安装window版本
- git config –global user.name “Your Name”
- git config –global user.email “email@example.com”
- git init初始化创建版本库
- git clone url从网络上克隆repository,注意clone是复制了history信息,而copy并不能赋值历史版本
- git log 查看版本库信息
- git log –graph –oneline master coins
图像化输出主支和其他分支的版本信息 - git diff commitid1 commitid2 查看修改的不同信息,—表示删除,+表示增加
- git diff 比较的是working directory工作目录和stating area暂存区的文件的不同
- git diff –staged 比较的是stating area暂存区和commit(repository)最新的版本库。
- git checkout id根据id恢复到以前的版本,检查bug
- git checkout master/other根据分支恢复到相应的版本或者远程分支(remote branch)
- git status用来查看当前文件处于什么状态,如暂存区,git仓库,和工作目录。
- git branch查看当前git中的分支
- git branch 创建git的分支
- git checkout -b 等于git branch name + git checkout name,创建一个分支并检查跳转到该分支
- git merge 始终将所有指定的分支合并到当前检出的分支中,并为该分支新建一个提交。
- git merge –no-ff禁止使用fast forward
快速合并,而是生成新的commit - git merge –abort,将文件恢复到你开始合并之前的状态
- git show commit_id 显示当前的信息
- git remote查看当前的远程版本库
- git remote -v 显示远程库的详细信息fetch和push的url
- git remote add (origin)url 添加一个版本库,如果只有一个是命名为origin
- git push master origin 将本地master分支push到远程分支origin上
- git pull 从远程版本拉取分支
相当于git fetch 和 git merge先拉取后合并远程分支与本地分支 - git fetch origin/master master从GitHub上拉取分支,==注意GitHub上的拉取到本地的分支为origin/master==
- 快速合并fast-forward merge,就是a-b,将b合并到a上,因为b是在a的基础上提交的,有它的历史信息,故最终为b。
- GitHub上的pull request其实是merge request,提示要将自己的分支和master分支合并请求,用于多人协作的项目。