Git高频命令汇总(上)

简介: Git是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。可以说,Git在我们的日常软件开发中,无处不在。我对Git中常见的命令进行了梳理,如下所示。

增加/删除文件


添加指定文件到暂存区

git add [file1] [file2] ...

添加指定目录到暂存区,包括子目录

git add [dir]

添加当前目录的所有文件到暂存区

git add .

添加每个变化前,都会要求确认

对于同一个文件的多处变化,可以实现分次提交

git add -p

删除工作区文件,并且将这次删除放入暂存区

git rm [file1] [file2] ...

停止追踪指定文件,但该文件会保留在工作区

git rm --cached [file]

改名文件,并且将这个改名放入暂存区

git mv [file-original] [file-renamed]

代码提交


提交暂存区到仓库区

git commit -m [message]

提交暂存区的指定文件到仓库区

git commit [file1] [file2] ... -m [message]

提交工作区自上次commit之后的变化,直接到仓库区

git commit -a

提交时显示所有diff信息

git commit -v

备注:

使用git commit -v来提交内容时,会启动文本编辑器要求输入提交说明,此时只需输入说明,然后保存并退出即可,若输入的说明为空,则本次操作不会有结果。

使用一次新的commit,替代上一次提交

如果代码没有任何新变化,则用来改写上一次commit的提交信息

git commit --amend -m [message]

重做上一次commit,并包括指定文件的新变化

git commit --amend [file1] [file2] ...

分支管理


查看分支

查看当前所在的分支及本地分支,git branch命令会列出所有分支,当前分支前面会标一个*号

git branch

查看远程所有分支

git branch -r

查看本地和远程的所有分支

git branch -a

删除分支

删除已合并的分支。删除分支就是删除指针

git branch -d <branchname>

如果<branchname>分支还没有被合并,如果删除,将丢失掉修改,如果要强行删除, 需要加上-D

git branch -D <branchname>

删除远程分支,删除后还需推送到服务器

git branch -d -r <branchname>

删除远程分支

git push origin :<branchname>

删除远程分支

git push origin --delete <branchname>

创建/切换分支

新建分支是新建指针,指向当前commit

git branch <branchname>

切换到dev分支

git checkout <branchname>

创建一个新的分支:dev,并且会切换到dev分支。

git checkout -b  这条命令有两个作用,git checkout命令加上-b参数表示创建并切换, 相当于以下两条命令:git branch devgit checkout dev

重命名分支

重命名本地分支

git branch -m <oldbranch> <newbranch>

重命名远程分支

  1. 删除远程待修改分支
  2. push本地新分支到远程服务器

合并分支

开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支

先使用git checkout master切换到master,这是在master分支上执行的命令,作用是:把dev分支上的工作成果合并到master分支上

git merge dev

衍合

在当前分支(如dev)下执行该命令,则相当于把当前分支和mater分支合并,和merge操作类似,但提交历史不同,rebase操作的log更干净,git rebase能够将分叉的分支重新合并。

git rebase master

标签管理

列出所有tag

git tag

新建一个tag在当前commit

git tag [tag]

新建一个tag在指定commit

git tag [tag] [commit]

删除本地tag

git tag -d [tag]

删除远程tag

git push origin :refs/tags/[tagName]

查看tag信息

git show [tag]

提交指定tag

git push [remote] [tag]

注:[remote]默认的远程代码库为origin

提交所有tag

git push [remote] --tags

新建一个分支,指向某个tag

git checkout -b [branch] [tag]

如果你想编辑某tag下的代码,你需要把 tag 快照对应的代码拉取到一个分支上。例如,想编辑 v1.0的tag代码,那么可以选择如下操作:git checkout -b new_branch v1.0


相关文章
|
18天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
40 1
[Git]入门及其常用命令
|
1月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
113 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
22天前
|
开发工具 git 开发者
|
22天前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
42 0
|
2月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
无论团队项目还是个人开发,掌握 Git 命令都是必备技能。本文介绍 Git 的基本概念与命令,如初始化仓库 (`git init`)、添加文件 (`git add`)、提交更改 (`git commit`)、检出分支 (`git checkout`)、合并分支 (`git merge`) 等,还分享了高级技巧如查看差异 (`git diff`)、撤销提交 (`git revert`)、修复合并冲突 (`git mergetool`) 和使用别名简化命令 (`git config --global alias.ci commit`)。
|
2月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7
|
2月前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
2月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
本文介绍 Git 的核心概念,如仓库、提交、分支与合并,并提供了常用命令,如初始化仓库 (`git init`)、提交更改 (`git commit -m &quot;Commit message&quot;`)、拉取 (`git pull`) 和推送 (`git push`) 等。此外,还分享了高级技巧,如撤销提交 (`git revert &lt;commit&gt;`)、交互式暂存 (`git add -i`) 和使用别名简化命令 (`git config --global alias.ci commit`) 等,帮助开发者提升效率。无论是初学者还是资深开发者,都能从中受益。
|
2月前
|
开发工具 git 开发者
GIT命令的综合总结
Git的学习曲线可能比较陡峭,但熟练掌握这些命令后,你将能够更加高效地管理和协作你的项目。希望这份指南能帮助你成为Git的高效用户。
49 7
|
2月前
|
开发工具 git
深入理解Git中的git pull和git fetch命令
深入理解Git中的git pull和git fetch命令
115 0