常用Git命令
pwd 显示当前目录
git init 创建本地git仓库
git add 添加文件
git commit 提交文件到本地仓库
git status 看当前分支状况
git diff <文件名> 看当前未提交的变化之处
git log 查看提交记录
git log --graph 以图表形式展示提交记录
git log --pretty=oneline 以一行的形式展示
git reflog 记录了每一次操作情况
git reset --hard <版本号前几位,或者HEAD^> 回退到指定版本号,或者上一个位置
git diff HEAD -- readme.txt 对比工作区和版本库里面最新版本的区别
git checkout -- file 撤销工作区中的修改(未add的那种)
git reset HEAD
git rm 删除一个文件(同样,误删除(本地的那种),可以用上面checkout回复,git checkout -- test.txt)
git push origin master 把本地master分支的最新修改推送到远程仓库
git clone <库名> 克隆一个库到本地
git branch 看当前本地分支
git branch -a 看所有分支(包括远程的)
git checkout -b dev 等价于 git branch dev 和 git checkout dev 创建并切换到dev分支
git merge dev 把dev内容合并到当前使用的分支
git branch -d
git merge --no-ff 合并时禁用Fast Forward功能,可以从log图中看出合并痕迹
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。
git branch -D
查看远程库信息,使用git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用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,如果有冲突,要先处理冲突。
git rebase 把分支搞成一条线
tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起
git tag v0.1 对当前commit做tag
git tag v0.2 f324d 对这个版本做tag
git show v0.9 展示
git tag 看所有tag
命令git push origin
可以推送一个本地标签; 命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d
可以删除一个本地标签; 命令git push origin :refs/tags/
可以删除一个远程标签。
在GitHub上,可以任意Fork开源仓库;
自己拥有Fork后的仓库的读写权限;
可以推送pull request给官方仓库来贡献代码。
git config --global color.ui true 让git根据不同展示不同颜色
merge
git checkout master //切换到本地master分支
git merge dev0.1 //merge本地分支
git push origin master //push到远端