Git常用命令
1、Git简介
Git是强大的分布式版本控制系统。它不同于CVS、SVN等集中式版本控制系统,有如下一些优点:
- 快速
- 离线提交代码
- 创建分支方便,不需要创建多目录
- 回退,可以回退到过去,也可以回退到将来
想给GitHub上别人的项目作代码贡献,分三个步骤:
- fork别人的项目
- 在自己的分支上作代码修改
- 发起pull request给别人审核
2、Git常用命令
同一个项目多人进行开发时,一般的git命令操作流程如下:
第一步,拉取远程master分支
git clone https://github.com/yangchenglong/yangchenglong.github.io.git
第二步,从master分支创建新的分支
git checkout -b 20160423-feature
第三步,查看修改了哪些文件
git status
第四步,查看修改了哪些内容
git diff
第五步,确认修改无误后,将修改的内容保存到暂存区
git add .
第六步,提交修改的代码
git commit -m ‘add some new functionality’
第七步,推送当前分支到远程仓库的同名分支
git push origin 20160423-feature:20160423-feature
3、其他命令
删除本地分支
git branch -D 20160423-feature
删除远程分支
git push origin :20160423-feature
显示从最近到最远的提交日志
git log
显示简化后的日志信息
git log --pretty=oneline
回退到之前的某个版本
git reset --hard HEAD@{1}
git reset --hard <提交ID>
查看本地每一次提交命令(包含回退命令)
git reflog
丢弃工作区的修改,此时没有提交到暂存区
git checkout -- <file>
丢弃暂存区的修改
git reset HEAD <file>
删除暂存区的文件,但不删除工作区的文件
git rm –-cached <file>
丢弃修改分3种场景:
- 场景1:还没有使用
git add将修改添加到暂存区,可以使用命令git checkout -- <file>丢弃工作区的修改:
- 场景2:已经使用
git add将修改添加到暂存区,要丢弃修改,需要分两步:
- 第一步,使用命令
git reset HEAD <file>,丢弃暂存区的修改,工作区不受影响,即回到场景1;- 第二步,使用场景1的
git checkout -- <file>命令丢弃工作区修改。
- 场景3:如果要删除已经使用
git commit提交的修改,使用git reset --soft HEAD@{1},可以保留暂存区和工作区的修改。