常用的16个git命令,覆盖90%九十的日常开发场景

794 阅读4分钟

前言

这份指南专注于日常开发中最实用的Git命令,掌握它们可以帮你节省时间并减少困扰。

1. git init

在当前目录创建一个新的Git仓库。

git init

这会为项目启用Git版本控制,创建一个包含仓库元数据的.git目录,其中包括提交历史、分支和远程设置。

ps:如果你需要新建一个仓库,经常需要使用npm init -y

2. git clone

创建远程仓库的本地副本。

git clone #仓库URL

示例:

git clone https://github.com/test/hello-world.git

这会复制远程仓库的所有文件、历史记录和分支。

3. git status

显示工作目录和暂存区的当前状态。

git status

你会看到:

  • 已修改但未暂存的文件
  • 已暂存待提交的文件
  • 未跟踪的文件

这是最常用的Git命令之一。

4. git add

将文件添加到暂存区,准备提交。

git add #文件
git add .
  • git add #文件 添加指定文件
  • git add . 添加当前目录及子目录的所有更改

提示:执行前用git status查看要暂存的文件。

5. git commit

将暂存的更改保存为一个提交快照,并添加说明信息。

git commit -m "功能:添加认证模块"

每个提交信息应描述为什么进行更改,而不只是更改了什么。 使用清晰简洁的描述,帮助团队成员(和未来的自己)理解提交历史。

6. git diff

显示工作目录与暂存区或提交之间的差异。

git diff            # 未暂存的更改
git diff --staged   # 已暂存但未提交的更改

这有助于预览即将提交的内容,或查看提交之间的差异。

7. git log

显示提交历史记录。

git log

你会看到:

  • 提交哈希值
  • 作者姓名
  • 日期
  • 提交信息

简化显示:

git log --oneline --graph --decorate

这会以紧凑的可视化方式展示带分支和标签的提交历史。

8. git reset

重置暂存区或移动HEAD到不同的提交。

撤销暂存的更改:

git reset #文件

撤销提交(保留更改):

git reset --soft HEAD~1

撤销提交并删除更改:

git reset --hard HEAD~1

⚠️ 慎用--hard,这会永久删除更改。

9. git checkout

切换分支或恢复文件。

切换到分支:

git checkout main

将文件恢复到最后一次提交的版本:

git checkout -- index.html

自Git 2.23版本起,更安全的替代命令是:

git restore #文件
git switch #分支

10. git branch

列出、创建或删除分支。

列出分支:

git branch

创建新分支:

git branch @feature/login-form

删除分支:

git branch -d old-feature

11. git merge

将一个分支的更改合并到另一个分支。

git checkout main
git merge @feature/login-form

这会将功能分支合并到主分支。 如果同一文件存在冲突更改,Git会提示你手动解决。

12. git pull

从远程仓库下载更改并合并到本地分支。

git pull origin main

等同于:

git fetch
git merge

使用git pull --rebase避免产生不必要的合并提交。

git config pull.rebase true 

13. git push

将本地提交上传到远程仓库。

git push origin main

用于与他人共享你的工作成果。

14. git stash

临时保存还不想提交的更改。

git stash

这会清理工作目录,让你可以干净地切换分支。

恢复暂存的更改:

git stash pop

查看所有暂存记录:

git stash list

15. git remote

管理远程仓库。

列出远程仓库:

git remote -v

添加新远程仓库:

git remote add origin https://github.com/user/repo.git

重命名远程仓库:

git remote rename origin upstream

16. git config

配置Git用户信息和行为。

设置全局用户名和邮箱:

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

查看配置信息:

git config --list

设置默认文本编辑器:

git config --global core.editor "code --wait"  # 使用VS Code

设置 VS Code 为可视化差异工具 (会新开一个窗口)

git config --global diff.tool vscode 

git config --global difftool.vscode.cmd 'code --wait --reuse-window --diff $LOCAL $REMOTE'

配置别名简化命令:

git config --global alias.st status
git config --global alias.co checkout

最终提示

  1. 经常使用git statusgit log,它们让你知道,你在做什么。
  2. 不要害怕使用分支和暂存,它们能帮助你安全地进行实验。
  3. 始终编写有意义的提交信息。
  4. 掌握这16个命令,你就能应对大多数实际开发场景。