Skip to content

Git

Git 是一个复杂的分布式版本控制系统,它有很多命令和选项。下面是一些最常用的 Git 操作和命令的概览:

0. 设置和配置

js
  git config:配置 Git 环境(用户名、邮箱、编辑器等)。
  git config --global user.name "Your Name":设置全局用户名。
  git config --global user.email "your_email@example.com":设置全局邮箱。

1. 拉取远程仓库代码

js
 // 创建和克隆仓库
git init:在当前目录初始化一个新的 Git 仓库。
git clone <url>:克隆一个远程仓库到本地。

2. 基本快照制作

js
  git status:查看当前工作目录的状态。
  git add <file>:将文件添加到暂存区。
  git commit -m "commit message":将暂存区的内容提交到仓库。
  git rm <file>:删除文件并将这个删除操作添加到暂存区。
  git mv <old-name> <new-name>:移动或重命名一个文件、目录。

3. 分支 查询/合并/删除/切换

js
  git branch:列出、创建或删除分支。
  git branch <branch-name>:创建新分支。
  git branch -d/--delete <branch-name>:删除本地分支。
  git branch -D <branch-name> 分支未合并 强制删除 --delete --force 简写。
  git push origin --delete <branch-name> 删除远程分支。
  git checkout <branch-name>:切换到指定分支。
  git checkout -b <branch-name>:创建并切换到新分支。
  git merge <branch>:将指定分支的历史合并到当前分支。

4. 查看提交历史

js
  git log:显示提交历史。
  git log --oneline:简洁的提交历史。
  git log --graph:以图表形式查看分支合并历史。

5. 撤销操作

js
  git revert <commit>:创建一个新提交,它撤销指定提交的所有更改。
  git reset:重置当前 HEAD 到指定状态。
  git reset --hard <commit>:重置工作目录和暂存区到指定提交,丢弃所有更改。
  git reset --soft <commit>:仅重置 HEAD 到指定提交,保留更改为暂存状态。
  git clean:删除未跟踪的文件。

6. 远程操作

js
  git fetch <remote>// 从远程仓库下载新分支和数据。
  git pull <remote> <branch>: // 从远程仓库提取数据并尝试合并到当前分支。
  git push <remote> <branch>: // 将本地分支的更新推送到远程仓库。
  git push --force <remote> <branch>: //强制推送到远程仓库,慎用!

7. 标签

js
  git tag:列出、创建、删除或验证一个 GPG 签名的标签。
  git tag <tagname>:创建一个标签。
  git tag -d <tagname>:删除一个标签。

8. 高级合并

js
  git rebase:将一个分支的修改重新应用到另一个分支上。
  git cherry-pick <commit>:选择一个提交,将其作为一个新的提交引入到当前分支。

9. 暂存修改

javascript
  git stash:暂时存储修改,清理工作目录。
  git stash apply:应用存储的修改

10. 查看更改

javascript
git diff:显示工作目录和暂存区的差异。
git diff --staged:显示暂存区和最后一次提交的差异。