常用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 撤销暂存区的修改(未commit的那种)(所以想彻底撤销,应该先reset,然后checkout)

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到远端

posted @ 2018-06-20 14:16  韧还  阅读(155)  评论(0编辑  收藏  举报