Git常用命令

版权声明:本文为博主原创文章,未经博主允许不得转载的哦=。= https://blog.csdn.net/qq_15602635/article/details/82563976

基本概念:

工作区:改动(增删文件和内容)
暂存区:输入命令:git add 改动的文件名,此次改动就放到了‘暂存区’
未跟踪的文件(untracked files):新建的文件,在git add之前的状态
本地仓库(简称:本地):输入命令:git commit 此次修改的描述,此次改动就放到了’本地仓库’,每个commit,我叫它为一个‘版本’。
远程仓库(简称:远程):输入命令:git push 远程仓库,此次改动就放到了‘远程仓库’(GitHub等)
commit-id:输出命令:git log,最上面那行commit xxxxxx,后面的字符串就是commit-id

基本命令

帮助

git help

克隆工程

git clone <project-path>

提交

git commit -m <description>

创建并且切换至本地分支

git checkout -b <branch-name>

查看git状态

git status

查看commit记录

git log

暂存当前修改

git stash
恢复前一次暂存的修改git stash pop

对比两个commit的差异:

git diff <commit-id-1> <commit-id-2>
加号减号表示commit2相对于commit1的增减。

查看分支的跟踪状态:-vv参数

git branch -vv
git branch -a -vv

修改最近一次提交日志

git commit --amend

合并最近两次提交

git rebase –i HEAD~2
将其中一个pick修改为squash,修改日志,:wq保存,两个commit会合并成一个。

列出所有远程分支

git branch -r

查看文件每一行的最后修改人/时间/commit id

git blame <file-path>

查看某个commit的修改

git show <commit-id>

查看某个分支文件的内容

git show <branch-name>:<file-path>

查看分支上的git操作

git reflog

清除本地记录的远程分支记录

git fetch -p
如果远程分支branchA被删除,git branch -r还是能看到branchA,执行上面的命令以后就会消失。

将某个commit节点之前的所有修改都恢复到暂存区

git reset --soft <commit-id>
经常用于将分支上的多次提交合成一次。

将某个commit合入当前分支

git cherry-pick <commit-id>

不常用命令

显示工作区和暂存区的改动

git diff

显示暂存区和最近版本的改动

git diff --cached

删除已经合并到master的分支

git branch --merged master | grep -v '^\*| master' | xargs -n 1 git branch -d

创建一个无历史的新分支

git checkout --orphan <branch-name>
会把当前分支的commit都放到暂存区,需要commit一次后才能创建分支

查看某一个commit属于哪个分支

git name-rev --name-only <commit-id>

对比两个分支差异

git log <branch-1> ^<branch-2>
查看branch1有,而branch2没有的commit
git log <branch-1>..<branch-2>
查看branch2比branch1多的commit
git log <branch-1>...<branch-2>
对比branch1与branch2的差异
git log --left-right <branch-1>...<branch-2>
同上

参考

git-tips中文版:https://github.com/521xueweihan/git-tips
git-tips英文版更全:https://github.com/git-tips/tips
Git官方文档:git-scm book
Git官方文档:git-scm
The most useful git commands:https://orga.cat/posts/most-useful-git-commands
Git基本命令:https://confluence.atlassian.com/bitbucketserver/basic-git-commands-776639767.html

练习

Git演示与学习工具:visualizing-git
Git闯关练习:learngitbranching

阅读更多
换一批

没有更多推荐了,返回首页