Git命令大全(值得收藏)

Git/版本控制
451
0
0
2022-07-09
标签   Git基础

一、初始化版本库

  • 在当前目录初始化一个Git版本库
  • git init
  • 指定一个目录并将其初始化为Git版本库
  • git init project-path
  • 下载一个项目和它的整个代码历史
  • git clone url地址

二、添加或者删除文件

  • 添加指定文件到暂存区
  • git add 文件1 文件2 ...
  • 添加指定目录到暂存区,包括子目录
  • git add 目录
  • 添加当前目录的所有文件到暂存区
  • git add .
  • 添加每个变化前,都会要求确认
  • git add -p
  • 删除工作区文件,并且将这次删除放入暂存区
  • git rm 文件1 文件2 ...
  • 停止追踪指定文件,但该文件会保留在工作区
  • git rm --cached 文件
  • 改名文件,并且将这个改名放入暂存区
  • git mv a.txt b.txt

三、设置忽略文件

  • 设置每个人都想要忽略的文件
  • 在根目录新建一个 .gitignore 文件,并将该文件提交到版本库,内容如下所示:

.idea

build

*.class

  • 设置只有自己想要忽略的文件

修改 .git/info/exclude 文件

四、导出版本库

  • git archive --format=zip head > project.zip

五、代码提交

  • 提交暂存区到仓库区
  • git commit -m "变更说明"
  • 提交暂存区的指定文件到仓库区
  • git commit 文件1 文件2 ... -m "变更说明"
  • 提交工作区自上次commit之后的变化,直接到仓库区
  • git commit -a
  • 提交时显示所有diff信息
  • git commit -v
  • 改写上一次commit的提交信息
  • git commit --amend -m "变更说明"

六、分支管理

  • 列出所有本地分支
  • git branch
  • 列出所有远程分支
  • git branch -r
  • 列出所有本地分支和远程分支
  • git branch -a
  • 新建一个分支,但依然停留在当前分支
  • git branch 分支名
  • 新建一个分支,并切换到该分支
  • git checkout -b 分支名
  • 新建一个分支,与指定的远程分支建立追踪关系
  • git branch --track 本地分支 远程分支
  • 切换到指定分支,并更新工作区
  • git checkout 分支名
  • 切换到上一个分支
  • git checkout -
  • 合并指定分支到当前分支
  • git merge [branch]
  • 选择一个commit,合并进当前分支
  • git cherry-pick 提交点ID
  • 删除分支
  • git branch -d 分支名
  • 删除远程分支
  • git push origin --delete 分支名
  • git branch -dr 分支名

七、状态和日志

  • 显示当前分支的最近几次提交
  • git reflog
  • 显示有变更的文件
  • git status
  • 显示当前分支的版本历史
  • git log
  • 显示指定文件相关的每一次diff
  • git log -p 文件名
  • 显示commit历史
  • git log --stat
  • 根据关键词搜索提交历史
  • git log -S "关键词"
  • 显示过去5次提交
  • git log -5 --pretty --oneline
  • 显示指定文件的提交信息
  • git blame 文件名
  • 显示暂存区和工作区的差异
  • git diff
  • 显示所有提交过的用户,按提交次数排序
  • git shortlog -sn
  • 显示暂存区和上一个commit的差异
  • git diff --cached 文件名
  • 显示工作区与当前分支最新commit之间的差异
  • git diff HEAD

八、远程同步

  • 下载远程仓库的所有变动
  • git fetch origin
  • 显示所有远程仓库
  • git remote -v
  • 显示某个远程仓库的信息
  • git remote show origin
  • 取回远程仓库的变化,并与本地分支合并
  • git pull origin 分支名
  • 上传本地指定分支到远程仓库
  • git push origin 分支名
  • 强行推送当前分支到远程仓库
  • git push origin --force
  • 推送所有分支到远程仓库
  • git push origin --all

九、标签管理

  • 列出所有tag
  • git tag
  • 新建一个tag在当前commit
  • git tag tag名
  • 新建一个分支,指向某个tag
  • git checkout -b 分支名 tag名
  • 删除远程tag
  • git push origin :refs/tags/tag名
  • 新建一个tag在指定commit
  • git tag tag名 提交点
  • 删除本地tag
  • git tag -d tag名
  • 提交指定tag
  • git push origin tag名
  • 查看tag信息
  • git show tag名
  • 提交所有tag
  • git push origin --tags

十、撤销修改

  • 撤销多个文件
  • git checkout head 文件1 文件2
  • 撤销所有txt文件
  • git checkout head *.txt
  • 撤销所有文件
  • git checkout head .