Git命令总结

自作多情 提交于 2020-03-05 18:09:32

1,配置用户名和邮箱
$ git config --global user.name “Your Name”
$ git config --global user.email “email@example.com”

2,初始化一个Git仓库
$ git init

3,添加文件到Git仓库
(1)使用命令git add ,注意,可反复多次使用,添加多个文件;
强制添加忽略文件到Git:$ git add -f App.class
(2)使用命令git commit -m ,完成

4,查看状态
$ git status: 可以让我们时刻掌握仓库当前的状态

5,查看修改内容
$ git diff: 顾名思义就是查看difference,显示的格式正是Unix通用的diff格式
用git diff HEAD – red.txt命令可以查看工作区和版本库里面最新版本的区别

6,日志查看
(1)git log可以查看提交历史,以便确定要回退到哪个版本。

(2)用git reflog查看命令历史,以便确定要回到未来的哪个版本。

简化log命令:
$ git log --pretty=oneline

$ git log --pretty=oneline --abbrev-commit

用git log --graph命令可以看到分支合并图。

7,回退
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令:
git reset --hard commit_id。

8,撤销修改
$ git checkout – file可以丢弃工作区的修改
让这个文件回到最近一次git commit或git add时的状态
reset和check的区别:
$ git reset 是丢弃版本或者暂存区的修改;
$ git checkout 是丢弃工作区的修改

9,删除文件
$ git rm test.txt
然后提交即可。

10,创建SSH Key
$ ssh-keygen -t rsa -C “youremail@example.com”

11,远程库
查看远程库的信息:$ git remote
显示更详细的信息:$ git remote -v
关联一个远程库:$ git remote add origin git@server-name:path/repo-name.git
推送远程分支:$ git push origin master
创建远程origin的dev分支到本地: git checkout -b dev origin/dev
指定本地dev分支与远程origin/dev分支的链接:$ git branch --set-upstream-to=origin/dev dev
(如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建)
删除已有的GitHub远程库:$ git remote rm origin
关联Gitee的远程库: $ git remote add origin git@gitee.com:liaoxuefeng/learngit.git

12,第一次推送master分支的所有内容至远程库
$ git push -u origin master
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改

13,克隆一个仓库
$ git clone
$ git clone git@github.com:michaelliao/gitskills.git

14,创建与合并分支
查看分支:$ git branch

创建分支:$ git branch

切换分支:$ git checkout 或者$ git switch

创建+切换分支:$ git checkout -b 或者$ git switch -c

合并某分支到当前分支:$ git merge

删除分支:$ git branch -d

强行删除:$ git branch -D (一般针对于还未合并的分支需要强制删除)

15,要强制禁用Fast forward模式
$ git merge --no-ff -m “merge with no-ff” dev

16,本地贮藏工作区内容
$ git stash
查看贮藏
$ git stash list
恢复贮藏
$ git stash apply(但是恢复后,stash内容并不删除,你需要用git stash drop来删除)
$ git stash pop(恢复的同时把stash内容也删了)
删除贮藏
$ git stash drop
恢复指定的贮藏
$ git stash apply stash@{0}

17,复制一个特定的提交到当前分支
$ git cherry-pick 提交码

18,把本地未push的分叉提交历史整理成直线
$ git rebase

19,标签
创建标签:$ git tag v1.0
查看所有标签:$ git tag
在历史提交记录上打标签:$ git tag v0.9 f52c633
查看标签信息:git show v0.9
创建带有说明的标签,用-a指定标签名,-m指定说明文字:$ git tag -a v0.1 -m “version 0.1 released” 1094adb
删除标签:$ git tag -d v0.1
推送某个标签到远程:$ git push origin v1.0
一次性推送全部尚未推送到远程的本地标签:$ git push origin --tags
删除远程标签:
先从本地删除:$ git tag -d v0.9
然后远程删除:$ git push origin :refs/tags/v0.9

20,自定义Git
让Git显示颜色: $ git config --global color.ui true

21,忽略特殊文件
检查:$ git check-ignore -v App.class

22,配置别名
$ git config --global alias.st status 以后$ git st 表示 $ git status
举例:
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
$ git config --global alias.unstage ‘reset HEAD’
当你敲入命令:
$ git unstage test.py
实际上Git执行的是:
$ git reset HEAD test.py

配置一个git last,让其显示最后一次提交信息:
$ git config --global alias.last ‘log -1’
这样,用git last就能显示最近一次的提交

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!