1. git branch
(1)git branch:列出本地所有分支
(2)git branch xxx:在本地创建一个xxx分支
说明:新建的分支是原有分支的一个clone版本,最初二者内容完全一样。
(3)git branch -d xx:删除xx分支
(4)git checkout xx:将当前工作区切换到xxx分支
(5)git checkout -b xx:创建一个新的分支xx,并切换到该分支
2. git status
git status:显示本地当前分支相较于远程仓库所有有改动的文件,会列出改动文件的清单,会展示文件完整的相对路径,形如dir_node1/dir_node2/file_name
3. git diff
(1)git diff xxx:显示xxx文件的改动细节。xxx是git status所列出的文件,要包含文件的路径。
(2) git diff --cached xxx:显示已add到暂存区的文件相较于远程仓库所做的修改(可以查看add到暂存区的文件的修改)。
(3)git diff –stat xxx:只显示xxx文件差异的摘要而非整个列出文件的所有修改
4. git add
(1)git add xxx:将有改动的xxx文件,添加到暂存区。xxx也是git status所列出的文件。
说明:git add后可以同时添加多个文件,彼此用空格分隔,如git add dir1/file1 dir2/file2,git add . 表示将所有修改的文件全部add。
(2)git add -f xxx:如果有新增的文件xxx,需要执行git add -f xxx后,git status才能看到记录。
(3)git add -A xxx:如果本地有xxx文件删除了,需要同步到git 远程仓库,先用此命令add。
5. git reset
(1)git reset:将已将add到暂存区的所有文件,退回到本地
(2)git reset xxx:将已add到暂存区的xxx文件退回到本地。
(3)git reset --hard:除了将add到缓冲区的文件退回到本地后,还会将文件修改的内容也复位
(4)git reset --hard xxx:将本地工作区的内容强制回退到commitId为xxx的版本。(目前暂时不清楚回退单个文件的操作,欢迎补充)
补充:git log所展示的是40位的commitId,GitLab上一般只展示40位中前7位
6. git commit -m "xxx":为将文件提交到远程的操作,添加提交说明,内容为xxx
7. git stash:将本地的修改先暂存起来,这时本地仓库中的内容是上次从远程分支刚检出时的状态。
8. git stash pop:将git stash暂存起来的修改,还原到本地。
说明:常用于在本地开发过程中,要合入远程仓库中最新代码的情况,这时我们git stash将本地的修改暂存起来,然后git pull拉取最新代码(因为我们执行了git stash,所以此处的git pull必然不会有冲突,而如果不git stash直接去pull,如果又冲突会导致pull失败),然后再执行git stash pop,相当于将我们本地的修改合入到最新的仓库中,此时可能会有冲突,会有conflict的文件列表,我们一一解决就可以了。
9. git log
(1)git log:显示所有的提交记录:包括commitId、作者、时间等信息(敲回车会依次显示所有记录的)。
(2)git log -n xxx:只显示最近xxx次的提交记录
(3)git log --name-only:展示出每次commit修改的文件列表
(4)git log --stat:每次修改的文件列表,及文件的修改统计
10. git show
(1)git show:查看最后一次的commit记录
(2)git show -xx:查看最后xx次的提交记录
(3)git show commitId:查看指定commitId的commit记录
(4)git show commitId xx:查看指定commitId的那次commit中xx文件修改的内容
11. git push
git push origin xxx:commit提交到暂存区之后,通过push命令将其提交到远程仓库的xxx分支。
git push origin AAA:BBB 将本地AAA分支推到远程BBB分支,如果BBB分支不存在,则创建。
12. git pull
git pull:拉取当前本地工作区对应的远程仓库的最新代码到本地仓库
git show [commitId] xxx:查看commitId那次的提交对xxx文件的修改