Git 命令备忘单

LXang7232024-04-09ToolsGit

Git 官方网站open in new window

GitHub 文档open in new window
GeeksforGeeks Git Cheat Sheetopen in new window

设置 Git

安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:

对所有本地仓库的用户信息进行配置。
打开Git Bash:

设置用户名和邮件地址 Set your username globally.

git config --global user.name "yourname"
git config --global user.email "[email protected]"

为一个仓库设置 Git 用户名

确认设置

git config --global

启用彩色命令行输出

git config --global color.ui auto

启用彩色命令行输出

git help

存储配置

git config --global credential.helper store

检查配置信息。

git config --list

仓库

创建一个新的本地仓库

git init <project-name>

省略 project-name 则在当前目录创建。

克隆一个远程仓库

git clone <url>

修改 Git 远程仓库地址:

git remote set-url origin <新的仓库地址>

例如:

git remote set-url origin https://github.com/username/repository.git

这样就更新了远程仓库地址。如果你想查看修改后的地址,可以运行:

git remote -v

遇到的问题

fatal

先尝试 VPN -> 修复无法联网(VPN 停掉了,相关配置重置一下)

fatal: unable to access 'xxx': Failed to connect to 127.0.0.1 port 10088 after 2121 ms: Could not connect to server

git config --global --unset http.proxy 
git config --global --unset https.proxy

fatal: unable to access 'xxx': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0

git config --global http.sslVerify "false"

fatal: unable to access 'xxx': Failed to connect to github.com port 443 after 21045 ms: Could not connect to server

设置代理

git config --global http.proxy 127.0.0.1:10088
git config --global https.proxy 127.0.0.1:10088

设置 -> 网络和Internet -> 代理

将指定的文件添加到暂存区

添加单个文件:

git add <文件路径> ,例如:

git add index.html

添加多个文件

git add <文件路径1> <文件路径2> ... ,例如:

git add index.html style.css app.js

添加当前目录下的所有文件:

git add .

添加特定类型的文件:

添加特定类型的文件,可以使用通配符。例如,添加所有 .js 文件:

git add *.js

Git 命令备忘单

1. 基础命令

命令说明
git init初始化一个新的 Git 仓库
git clone <repository>克隆远程仓库到本地
git status查看当前工作区和暂存区的状态
git add <file>将文件添加到暂存区
git commit -m "message"提交暂存区的更改并附带提交信息
git diff查看工作区和暂存区的差异
git log查看提交历史
git log --oneline以简洁的一行形式查看提交历史
git reset <file>从暂存区移除文件
git reset --hard重置工作区和暂存区,回退到上一个提交

2. 分支管理

命令说明
git branch列出本地所有分支并标记当前分支
git branch <branch-name>创建一个新分支
git checkout <branch-name>切换到指定的分支
git checkout -b <branch-name>创建并切换到一个新分支
git merge <branch-name>合并指定分支到当前分支
git branch -d <branch-name>删除本地分支
git branch -D <branch-name>强制删除本地分支
git rebase <branch-name>将当前分支的更改应用到指定分支上

3. 远程仓库操作

命令说明
git remote add <name> <url>添加一个远程仓库
git remote -v查看所有远程仓库的 URL
git fetch <remote>从远程仓库获取最新的分支信息但不合并
git pull <remote> <branch>从远程仓库拉取并合并指定分支的内容
git push <remote> <branch>将本地分支推送到远程仓库
git push --set-upstream <remote> <branch>设置默认的远程分支
git push <remote> --delete <branch>删除远程分支
git pull --rebase拉取远程分支并在本地进行变基操作

4. 标签管理

命令说明
git tag列出所有标签
git tag <tag-name>创建一个新标签
git push <remote> <tag-name>将标签推送到远程仓库
git tag -d <tag-name>删除本地标签

5. 撤销更改

命令说明
git checkout -- <file>恢复文件到最后一次提交的状态(撤销工作区更改)
git reset <file>从暂存区移除文件
git revert <commit-id>撤销某个提交,并生成一个新的提交

6. Git 配置

命令说明
git config --global user.name "<name>"设置全局 Git 用户名
git config --global user.email "<email>"设置全局 Git 用户邮箱
git config --list查看所有 Git 配置项

7. 合并冲突

命令说明
git mergetool启动合并工具,帮助解决合并冲突
git merge --abort中止合并操作,恢复到合并前的状态

8. 高级命令与技巧

命令说明
git cherry-pick <commit-id>将某个提交应用到当前分支
git bisect使用二分查找方法定位 bug 引入的提交
git reflog查看历史引用记录,找回丢失的提交
git stash暂存当前的工作区更改
git stash apply恢复最近一次暂存的更改
git stash pop恢复并删除最近一次暂存的更改

9. 常见问题与错误解决

如何找回丢失的提交?

  • 使用 git reflog 查找丢失的提交。
  • 使用 git reset --hard <commit-id> 恢复到丢失的提交。
  • 使用 git fsck 查找孤立对象。

如何撤销本地提交但保留更改?

  • 使用 git reset --soft HEAD~1 撤销最近的提交并保留文件的更改。

如何解决合并冲突?

  • 使用 git mergetool 启动合并工具,手动解决冲突并提交。
  • 如果遇到合并问题,可以使用 git merge --abort 取消合并。
最后更新时间 2/14/2025, 5:53:56 AM