1.生成秘钥
ssh-keygen -t rsa -C "1084556884@qq.com"
2.查看秘钥
vim ~/.ssh/id_rsa.pub
3.创建空目录
mkdir 目录名称
4.创建txt文本文件
touch 文本文件名称
5.编辑文本文件
vim 文本文件名
6.保存并退出vim编辑
在末行模式(命令行模式输入冒号:就是末行模式了)输入wq或者ZZ
7.不保存退出vim编辑
q!
8.在空目录下创建仓库
$ git init
9.版本回退命令,用HEAD表示当前版本,上一个版本就是HEAD^, 上上一个版本就是HEAD^^,或者写成这样所以写成HEAD~100,也可以用提交的版本id回退
$ git reset --hard HEAD^ 或者 $ git reset --hard 版本id
10.显示从最近提交日志
$ git log 或者 $ git log --pretty=oneline --abbrev-commit
11.记录你每一次输入的命令
$ git reflog
12.查看工作区和版本库里面最新版本的区别
$ git diff HEAD -- 文本名
13将工作区修改内容提交到暂缓区staged
$ git add 文本名
14.将暂缓区的内容提交到版本库
$ git commit -m "注释内容"
15.在工作区添加的内容已经提交到暂存区(git add),使用该命令可以把暂存区的修改撤销掉,并重新放回工作区(删除和修改均可)
$ git restore 文本名
16.在工作区添加的内容已经提交到暂存区(git add),使用该命令可以把暂存区的修改撤销掉,并重新放回工作区(删除和修改均可)
$ git restore --staged 文本名
17.删除工作区的文本,但不会提交到暂存区
$ rm 文本名
18.删除工作区的文件并提交到暂存区
$ git rm 文本名
19.添加关联远程库出错的话(fatal: remote origin already exists.),先删除远程 Git 仓库,在继续关联
$ git remote rm origin
20.把一个已有的本地仓库与github关联
$ git remote add origin git@github.com:qlw153010538/learngit.git
21.把本地库的内容推送到远程,如果远程库是空的,加上了-u参数,Git不但会把本地的master分支内容推送到远程新的master分支,还会把本地的master分支和远程的master分支关联起来,第二次推送就不用‘-u’参数了
$ git push -u origin master
22.从远程库克隆一个本地库
$ git clone git@github.com:qlw153010538/gitskills.git
23.创建一个分支
$ git branch 分支名
24.查看当前分支
$ git branch
25.把分支合并到master分支上
$ git merge 分支名
26.主次分支切换
$ git checkout 分支名 或者 $ git switch 分支名
27.删除分支
$ git branch -d 分支名
28.强行删除分支
$ git branch -D 分支名
29.查看分支合并图
$ git log --graph
30.合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
$ git merge --no-ff -m "merge with no-ff" 分支名
31.保存当前工作现场
$ git stash
32.查看工作现场保存在哪个地方
$ git stash list
33.恢复保存的工作现场,恢复后不删除stash内容
$ git stash apply
$ git stash drop 恢复工作现场后可使用此命令删除stash内容
34.恢复保存的工作现场,恢复后删除stash内容
$ git stash pop
35.查看远程仓库详细信息
$git remote -v
36.推送分支到github
$ git push origin 分支名称(如主分支master)
37.创建远程origin的dev分支到本地
$ git checkout -b dev origin/dev
38.当远程分支和本地推送的分支存在冲突,先把远程的更新下来解决冲突后再上传,如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用以下命令创建链接,然后在重新拉取数据
$ git branch --set-upstream-to=origin/dev dev
39.重新拉取数据
$ git pull
40.创建标签
$ git tag 标签名 【可选,加上commit的id】
41.查看标签
$ git tag
42.查看标签信息
git show 标签名
43.自定义git
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"