优秀的编程知识分享平台

网站首页 > 技术文章 正文

Git命令大全(值得收藏)(git 命令详解)

nanyue 2024-07-18 03:57:17 技术文章 5 ℃

一、初始化版本库

  • 在当前目录初始化一个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 .

最近发表
标签列表