程序员都应该知道的 21 个 Git 命令

简介: 诞生于 2005 年的分布式版本管理工具:Git,现如今已成为大多数公司协同合作的必备工具之一了。它直到现在依然保持着简单易用、高效管理的特点。相信很多刚踏入职场的猿友们,第一个需要学会使用的就是 Git。今天,我们来重温经常使用的 20 个 Git 命令,也可当做自己的 Git 命令速查表。

前言

诞生于 2005 年的分布式版本管理工具:Git,现如今已成为大多数公司协同合作的必备工具之一了。它直到现在依然保持着简单易用、高效管理的特点。相信很多刚踏入职场的猿友们,第一个需要学会使用的就是 Git。今天,我们来重温经常使用的 20 个 Git 命令,也可当做自己的 Git 命令速查表。

1、git init

初始化一个 Git 仓库,它将创建一个 .git 文件夹,后续的操作记录都会在此文件夹里,相当于 Git 的数据库。

2、git remote add origin 远程仓库地址

将本地仓库和远程仓库关联,origin 是远程仓库的名字,是 Git 的默认叫法。关联之后,我们就可以将本地的提交历史推送到远程仓库,完成和其他人的协同工作了。

3、git remote -v

查看关联的远程仓库列表,返回远程仓库名和 URL:

$ git remote -v
origin    https://github.com/schacon/ticgit (fetch)

4、git status

显示当前工作目录和暂存区的状态,例如创建了一个文件,此时 git status 就会在 Untracked files 里显示该未追踪的文件,如果将该文件 add 了之后,就会在 Changes to be committed 看到,即已经加到缓存区,等待提交。最后,当我们 commit,就会发现没有任何修改和未提交的文件了。

5、git add [file]

用于将已修改或未跟踪的文件添加到暂存区

6、git commit -m "提交日志"

将暂存区的文件提交到本地仓库

7、git log --oneline

查看提交的日志信息

8、git diff

查看工作区的文件和暂存区的不同之处

9、git push origin <本地分支名>

将本地的分支推送到 origin 远程仓库的上,第一次推送远程仓库将会在服务器上创建对应的分支,当第一次推送完后,后续可以直接使用 git push 这种简介用法了

10、git pull

将远程仓库的最新内容合并到本地仓库里

11、git merge <其他分支名>

将其他分支里的提交内容合并到当前分支里

12、git merge --abort

合并是有可能有冲突的,如果冲突后想放弃合并,可以使用这个命令

13、git branch 分支名称

创建新的分支

14、git checkout 分支名称

切换到其他分支上

15、git checkout -b 新分支名称

相当于上面连个命令的合体功能,即创建新分支,然后切换到新分支上。

16、git branch、git branch -r、git branch -a

分别是查看本地分支、查看远程分支、查看所有分支

17、git branch -d 分支名称

删除分支,如果该分支没有合并过,则会提示相应错误,如果想要强制删除,可使用 git branch -D 分支名称

18、git clean -f

删除本地仓库中未跟踪的文件,如果想删除的是目录,使用 -d

19、git reset

用于重置暂存区的文件与上一次的提交(commit)保持一致,但不会重置工作区的修改,需使用 git checkout <文件名> 命令才能重置工作区的改动。或者使用比较危险的 git reset --hard HEAD 命令,会将工作区和暂存区都重置到上一次版本,包括 commit 信息。

20、git rm 文件、git rm --cached 文件名

如果只是简单的在工作目录里手动删除文件,则还需要自己将修改添加到暂存区,然后再提交到本地仓库里才完成一次改动版本的记录。git rm 文件 则帮我们在删除的同时,也将修改添加到了暂存区,少了一步的操作。

但有时候我们想保留该文件,以便后续使用,但又想把删除的改动添加到暂存区,此时就可以使用 git rm --cached 文件名 命令来达到此效果了。

21、git stash 和 git stash pop

如果我们开发到一半,需要重新创建一个新分支去解决线上问题,但此时又不想将当前的分支改动提交到对应分支上,则可以使用 git stash 将修改(包括工作区和暂存区)保存到堆栈中,等新分支处理完毕后,就可以切换到之前的分支,然后使用 git stash pop 恢复缓存的堆栈内容了。

结尾

最后,我们再来回顾下 Git 文件的三个状态:已修改(modified)已暂存(staged)已提交(committed)

  • 已修改表示修改了文件,但还没保存到数据库中。
  • 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
  • 已提交表示数据已经安全地保存在本地数据库中。
    areas

以及 Git 文件的生命周期图:

Git life cycle

参考

相关文章
|
3月前
|
存储 开发工具 git
|
14天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
36 1
[Git]入门及其常用命令
|
3月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
67 0
|
1月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
111 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
18天前
|
开发工具 git 开发者
|
18天前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
40 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`) 等,帮助开发者提升效率。无论是初学者还是资深开发者,都能从中受益。