『Git』Git常用命令分类整理

发布时间 2023-12-22 15:09:40作者: 北岛孤影

配置命令

项目配置文件:项目/.git/config
1.git config --local user.name xxx:设置用户名,信息记录在项目/.git/config文件中
2.git config --local user.email xxx@xxx.com:设置邮箱地址,信息记录在项目/.git/config文件中
全局配置文件:~/.gitconfig
1.git config --global user.name xxx:设置全局用户名,信息记录在~/.gitconfig文件中
2.git config --global user.email xxx@xxx.com:设置全局邮箱地址,信息记录在~/.gitconfig文件中
系统配置文件:/etc/.gitconfig注意:需要有root权限
1.git config --system user.name xxx:设置用户名,信息记录在项目/.git/config文件中
2.git config --system user.email xxx@xxx.com:设置邮箱地址,信息记录在项目/.git/config文件中

创建与克隆命令

1.git init:将当前目录初始化为本地仓库,信息记录在隐藏的.git文件夹中
2.git init -b <branch_name>:初始化本地仓库的同时创建分支branch_name
3.git clone xxx@xxx.com:xxx/XXX.git:将远程仓库XXX下载到当前目录下

添加与提交命令

1.git add <file>:将文件添加到暂存区
2.git commit -m "备注信息":将暂存区的内容提交到当前分支

查询与浏览命令

1.git diff <file>:当工作区有改动、暂存区为空时,对比工作区与最后一次commit的共同文件;当工作区有改动、暂存区不为空时,对比工作区与暂存区的共同文件。
2.git status:显示工作目录和暂存区的文件状态
3.git status -s:精简显示文件状态
4.git status --ignored:列出被忽略的文件
5.git log:查看当前分支的历史版本记录
6.git log --oneline:用列表的形式查看历史版本记录
7.git reflog:查看HEAD指针的移动历史(包括被回滚的版本)
8.git branch:查看所有分支和当前所处分支

撤销与重置命令

1.git rm <file>:删除工作区文件,并且将这次删除放入暂存区
2.git rm --cached <file>:删除暂存区文件,但保留工作区的文件,并且将这次删除放入暂存区
3.git rm -f <file>:删除工作区和暂存区文件,并且将这次删除放入暂存区
4.git restore --staged <file>:将文件从暂存区撤回到工作区
5.git checkout -- <file>git restore <file>:将文件恢复到最新的提交状态
6.git commit --amend:修改最后一次提交
7.git commit --amend -m "备注信息":修改最后一次提交的备注
8.git revert <commit_id>:用于“反做”某一个版本,即用一次新的commit来回滚之前的commit,此次提交之前的commit都会被保留
9.git reset HEAD:回退暂存区里的所有文件,比如误add所有文件,可执行该命令将所有此次修改的file退回到工作区
10.git reset HEAD <file>:回退暂存区里的某个文件,比如误add单个文件,可执行该命令只撤销该文件
11.git reset --hard HEAD^git reset --hard HEAD~:将代码库回滚到上一个版本
12.git reset --hard HEAD^^:往上回滚两次,以此类推
13.git reset --hard HEAD~100:往上回滚100个版本
14.git reset --hard <commit_id>:回滚到指定提交,删除工作目录中的所有更改,包括暂存区和工作区的修改
15.git reset --soft <commit_id>:回滚到指定提交,保留工作目录和暂存区中的修改,并将这些修改标记为未暂存状态
16.git reset –-mixed <commit_id>:此为默认方式,回滚到到指定提交,保留工作目录中的修改,但将它们标记为未暂存状态,同时清空暂存区

远程仓库

1.git remote add origin xxx@xxx.com:xxx/XXX.git:将本地仓库关联到远程仓库
2.git remote rm <remote_name>:从本地仓库中删除指定的远程仓库
3.git push -u(第一次需要-u以后不需要):将当前分支推送到远程仓库
4.git push origin <branch_name>:将本地的某个分支推送到远程仓库
5.git push -u origin <branch_name>:设置本地的branch_name分支对应远程仓库的branch_name分支
6.git push -d origin <branch_name>:删除远程仓库的branch_name分支
7.git fetch:从远程获取最新版本到本地,不会自动merge
8.git pull:从远程获取最新版本到本地,并自动merge
9.git pull origin <branch_name>:将远程仓库的branch_name分支与本地仓库的当前分支合并
注意git pull 相当于 git fetch + git merge

分支与合并命令

1.git branch <branch_name>:创建新分支
2.git branch:查看所有分支和当前所处分支
3.git branch -r:查看远程分支
4.git branch -a:查看所有分支
5.git branch -d <branch_name>:删除本地仓库的branch_name分支
6.git branch -u origin/<branch_name1> <branch_name2>:将远程的branch_name1分支与本地的branch_name2分支对应
7.git checkout -:切换到前一个分支
8.git checkout <branch_name>:切换到branch_name这个分支
9.git checkout -b <branch_name>:创建并切换到branch_name这个分支
10.git checkout -t origin/<branch_name>:将远程的branch_name分支拉取到本地
11.git checkout tags/<tag-name>:切换到标签所指向的提交状态
12.git merge <branch_name>:将分支branch_name合并到当前分支上
13.git cherry-pick <branch_name>:将分支branch_name的最新提交转移到当前分支上
14.git cherry-pick <commit_id>:将指定的提交转移到当前分支上,支持一次转移多个提交(空格分隔)
注意git checkout -b <branch_name> 相当于 git branch <branch_name> + git checkout <branch_name>

stash暂存命令

1.git stash:将工作区和暂存区中尚未提交的修改存入栈中
2.git stash apply:将栈顶存储的修改恢复到当前分支,但不删除栈顶元素
3.git stash drop:删除栈顶存储的修改
4.git stash pop:将栈顶存储的修改恢复到当前分支,同时删除栈顶元素
5.git stash list:查看栈中所有元素

相关链接:
Git远程操作详解 - 阮一峰的网络日志
【Git】checkout 用法总结 - 简书
Git撤销&回滚操作(git reset 和 get revert) - 腾讯云
Git恢复之前版本的两种方法reset、revert(图文详解) - CSDN博客
Git:移除文件----git rm命令的使用 - CSDN博客