1454 字
7 分钟
Git基本使用方法

git_help

1. 安装Git#

Windows#

  1. 下载安装程序:https://git-scm.com/download/win
  2. 运行安装程序,按默认选项安装

macOS#

Terminal window
# 使用Homebrew安装
brew install git

Linux (以Ubuntu为例)#

Terminal window
sudo apt-get update
sudo apt-get install git

2. 配置Git#

首次使用Git前需要配置用户信息:

Terminal window
# 自动创建.ssh到C盘用户目录,之后自行到GitHub或者Gitee上关联keygen
ssh-keygen -t rsa
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

可选配置:

Terminal window
# 设置默认编辑器为VSCode
git config --global core.editor "code --wait"
# 彩色输出
git config --global color.ui true

3. 创建仓库#

初始化新仓库#

Terminal window
mkdir project-name
cd project-name
git init

克隆现有仓库#

Terminal window
git clone https://github.com/username/repository.git

4. 基本工作流程#

查看状态#

Terminal window
git status

添加文件到暂存区#

Terminal window
# 添加特定文件
git add filename
# 添加所有修改的文件
git add .

提交更改#

Terminal window
git commit -m "提交信息"

查看提交历史#

Terminal window
git log

5. 分支管理#

创建分支#

Terminal window
git branch branch-name

切换分支#

Terminal window
git checkout branch-name

创建并切换分支#

Terminal window
git checkout -b branch-name

合并分支#

Terminal window
git checkout main
git merge branch-name

删除分支#

Terminal window
git branch -d branch-name

6. 远程仓库#

添加远程仓库#

Terminal window
git remote add origin https://github.com/username/repository.git

推送到远程仓库#

Terminal window
git push -u origin main

从远程仓库拉取更新#

Terminal window
git pull

获取远程更新#

Terminal window
git fetch

6. 撤销更改#

工作区的修改撤销#

当你修改了文件但还没有执行git add时:

Terminal window
# 撤销对单个文件的修改
git checkout -- filename
# 撤销对所有已修改文件的修改
git checkout -- .

这条命令会用暂存区(或最后一次提交)的版本替换工作区的版本

注意:这个操作是不可逆的,被撤销的更改无法恢复

暂存区的修改撤销#

当你已经执行了git add但还没有提交:

Terminal window
# 将单个文件从暂存区移回工作区(取消暂存)
git reset HEAD filename
# 将所有文件从暂存区移回工作区
git reset HEAD .

reset命令将文件从暂存区移出,但保留工作区的修改

文件状态变为已修改但未暂存

撤销最近的提交#

修改最后一次提交(内容或消息)#

Terminal window
# 将暂存区的修改合并到最后一次提交中
git commit --amend
# 仅修改提交信息而不改变内容
git commit --amend -m "新的提交信息"

如果已经推送到远程仓库,谨慎使用amend操作

需要使用git push --force强制推送修改后的提交

彻底撤销最后一次提交#

Terminal window
# 保留工作区和暂存区的修改
git reset HEAD^
# 保留工作区修改,但清空暂存区
git reset --mixed HEAD^
# 彻底丢弃最后一次提交的所有修改
git reset --hard HEAD^

HEAD^`表示前一次提交

--mixed(默认):保留工作目录的修改,重置暂存区

--soft:保留工作目录和暂存区的修改

--hard:丢弃所有修改

撤销指定提交#

Terminal window
# 创建一个新提交来撤销指定提交的更改
git revert <commit-hash>

revert是通过创建一个新的提交来抵消之前的提交

适合已经推送到远程仓库的提交

保留了撤销的历史记录

重置到任意提交点#

Terminal window
# 移动到指定提交,保留工作目录修改
git reset <commit-hash>
# 移动到指定提交,丢弃所有修改
git reset --hard <commit-hash>

--hard重置会永久丢弃所有未提交的更改

如果已经推送到远程仓库,需要谨慎使用

找回被删除的提交#

如果你误删了提交,可以使用reflog找回:

Terminal window
# 查看操作历史
git reflog
# 使用找到的commit hash重置回去
git reset --hard <commit-hash>

实用场景示例#

场景1:撤销未暂存的修改#

Terminal window
# 不小心修改了文件但想恢复
git checkout -- file.txt

场景2:撤销已暂存但未提交的修改#

Terminal window
git add file1.txt file2.txt
# 突然发现不应该add file1.txt
git reset HEAD file1.txt

场景3:撤销最近的本地提交#

Terminal window
git commit -m "错误的提交"
git reset HEAD^

场景4:撤销已推送到远程的提交#

Terminal window
git revert HEAD
git push

场景5:彻底回滚到某个历史版本#

Terminal window
git log # 查看要回滚到的commit hash
git reset --hard abc123
git push --force # 谨慎使用!
  1. 对已推送到远程仓库的提交,优先使用git revert而非reset
  2. 执行--hard重置前,确保工作区没有重要未提交的修改
  3. 强制推送(--force)会覆盖远程历史,团队协作时应谨慎使用
  4. 关键操作前可以先创建临时分支备份当前状态

7. 忽略文件#

创建.gitignore文件,添加需要忽略的文件或目录:

# 忽略编译生成的文件
*.class
*.exe
*.dll
*.o
# 忽略日志文件
*.log
# 忽略IDE特定文件
.idea/
.vscode/
# 忽略Node.js依赖
node_modules/
# 忽略Python虚拟环境
venv/
.env

重置.gitignore规则后的清理

Terminal window
git rm -r --cached . # 从索引删除所有文件
git add . # 重新添加,此时会遵守新的.gitignore规则
git commit -m "fixed gitignore"

8. 标签管理#

创建标签#

Terminal window
git tag v1.0.0

查看标签#

Terminal window
git tag

推送标签到远程#

Terminal window
git push origin v1.0.0

删除本地标签#

Terminal window
git tag -d v1.0.0

9. 常用别名设置#

添加以下内容到~/.gitconfig文件的[alias]部分:

Terminal window
[alias]
co = checkout
ci = commit
st = status
br = branch
hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
type = cat-file -t
dump = cat-file -p

10. 最佳实践建议#

  1. 提交时使用清晰、有意义的提交信息
  2. 保持提交的原子性(每次提交只做一件事)
  3. 定期从上游仓库获取更新
  4. 在专用分支上开发新功能
  5. 使用.gitignore忽略不需要版本控制的文件
  6. 推送前先拉取最新代码,避免冲突

11. 获取帮助#

Terminal window
git help <command>
git <command> --help
man git-<command>
Git基本使用方法
https://liaoyueyue.cn/posts/教程/git基本使用方法/
作者
lyyovo
发布于
2026-04-12
许可协议
CC BY-NC-SA 4.0