这些内容是在学习廖老师的Git教程时做的笔记,总结在这里。
一方面是为了巩固学习内容;
一方面也方便后续查阅命令;
再就是对有些内容做了适当的更改,比如新版 git 推荐使用 git switch
和 git restore
替代过时的 git checkout
......
下面是各专题的命令大纲,各专题的跳转链接有详细笔记
-
初始化一个Git仓库,使用
git init
-
添加文件到Git仓库,分两步: 使用
git add <file>
,注意,可反复多次使用,添加多个文件; 再使用git commit -m <message>
-
要随时掌握工作区的状态,使用
git status
-
如果
git status
告诉你有文件被修改过,用git diff
可以查看修改内容 -
提交修改与提交新文件一样,使用
git add
和git commit
-
HEAD
指向当前版本,Git允许在不同历史版本之间穿梭,使用命令git reset --hard commit_id
-
穿梭前,用
git log--pretty=oneline--abbrev-commit
查看提交历史,确定要回退到哪个版本及其版本号 -
要重返未来,用
git reflog
查看历史命令,确定要回到未来的哪个版本
-
要丢弃工作区的修改,用
git restore readme.txt
-
要丢弃缓存区的修改,用
git restore --staged readme.txt
-
要丢弃仓库的修改,用
git reset —- hard HEAD
-
从库中删除文件:先删除本地,然后
git rm/add
再git commit
-
要恢复文件,使用
git restore
-
准备:在本地创建SSH Key,并将本地SSH公钥添加到GitHub;
-
要关联一个远程库,使用
git remote add <name> git@github.com:19PDP/learngit.git
; -
关联后,使用
git push -u <name> master
第一次推送master分支的所有内容; -
此后,每次本地提交后,使用命令
git push <name> master
即可推送最新修改; -
要克隆一个仓库,首先必须知道仓库的地址,然后使用
git clone
命令克隆。
-
查看分支:
git branch
-
创建分支:
git branch <name>
-
切换分支:
git switch <name>
或者git checkout <name>
-
创建+切换分支:
git switch -c <name>
或者git checkout -b <name>
-
合并某分支到当前分支:
git merge <name>
-
删除分支:
git branch -d <name>
-
当合并分支出现冲突时,git会给出提示,并将文件内容中不同分支中冲突的部分标识出来。 解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
-
用
git log --graph
命令可以看到分支合并图。 -
合并分支时,加上
--no-ff
参数可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward
合并看不出来曾经做过合并。
-
命令
git tag <tagname>
用于新建一个标签,默认为HEAD
,也可以指定一个commit id; -
命令
git tag -a <tagname> -m "blablabla..."
可以指定标签信息; -
命令
git tag
可以查看所有标签。 -
命令
git push origin <tagname>
可以推送一个本地标签; -
命令
git push origin --tags
可以推送全部未推送过的本地标签; -
命令
git tag -d <tagname>
可以删除一个本地标签; -
命令
git push origin :refs/tags/<tagname>
可以删除一个远程标签。