git 常用命令速查
git 常用命令速查
以下是 Git 的常用操作总结,适合快速查阅和日常使用:
初始化与克隆仓库
- 初始化本地仓库
1
git init
- 克隆远程仓库
1
git clone <远程仓库URL>
配置用户信息
- 设置全局用户名和邮箱
1
2
git config --global user.name "名字"
git config --global user.email "邮箱"
- 查看当前配置
1
git config --list
添加与提交文件
- 添加文件到暂存区
1 2
git add <文件名> # 添加指定文件 git add . # 添加所有修改和新文件
- 提交到本地仓库
1
git commit -m "提交描述"
- 将添加和提交合并为一步
1
git commit -am "提交描述" # 仅对已跟踪文件生效
分支管理
- 查看分支
1
2
git branch # 查看本地分支
git branch -a # 查看所有分支(包括远程)
- 创建/切换分支
1
2
3
git branch <分支名> # 创建分支
git checkout <分支名> # 切换分支
git checkout -b <分支名> # 创建并切换到新分支
- 合并分支
1
2
git checkout main # 切换到主分支
git merge <分支名> # 合并指定分支到当前分支
- 删除分支
1
2
git branch -d <分支名> # 删除本地分支(安全)
git branch -D <分支名> # 强制删除未合并的分支
远程仓库操作
- 关联远程仓库
1
git remote add origin <远程仓库URL>
- 推送本地分支到远程
1
2
git push -u origin <分支名> # 首次推送
git push # 后续推送
- 拉取远程更新
1
git pull origin <分支名> # 拉取并合并远程分支
- 查看远程仓库信息
1
git remote -v
状态与日志
- 查看当前状态
1
git status
- 查看提交历史
1
2
git log # 详细日志
git log --oneline # 简洁单行显示
撤销与回退
- 撤销工作区修改
1
git checkout -- <文件名> # 丢弃未暂存的修改
- 撤销暂存区的文件
1
git reset HEAD <文件名> # 将文件移出暂存区
- 回退到某个提交
1
2
git reset --hard <commit-id> # 彻底回退到指定提交
git reset --soft <commit-id> # 保留修改并回退提交
- 修改最后一次提交
1
git commit --amend # 修改提交信息或内容
标签管理
- 创建标签
1
2
git tag <标签名> # 轻量标签
git tag -a <标签名> -m "描述" # 含注解的标签
- 推送标签到远程
1
git push origin --tags
- 列出所有标签
1
git tag --list
- 删除本地标签
1
git tag -d <标签名>
- 删除远程标签
1
git push origin --delete <标签名>
高级操作
- 储藏临时修改
1
2
git stash # 保存当前工作状态
git stash pop # 恢复最近储藏的内容
- 比较差异
1
2
git diff # 工作区与暂存区差异
git diff --staged # 暂存区与最新提交差异
- 子模块管理
1
git submodule add <仓库URL> # 添加子模块
- 变基(Rebase)
1
git rebase <分支名> # 将当前分支的提交移动到另一分支顶部
- 远程分支删除后,清除本地索引
1
git remote prune origin
仓库复制迁移
有时候需要迁移现有的代码仓库,如果重新创建新仓库,删除掉原来的 .git 目录再推送代码上去,原有的 commit 信息将全部丢失,使用下面这种方法就可以完整保留原有的 commit 信息。
- 进入本地仓库目录
1
cd /path/to/local/repo
- 查看当前远程地址
1
git remote -v
- 修改远程地址
1
git remote set-url origin git@ip:my_repo.git
- 强制推送所有分支和标签
1
2
git push --force --all origin
git push --force --tags origin
- 注意 请确保将要设置的 URL 所在的远程仓库为空,否则会被覆盖掉。
本文由作者按照 CC BY 4.0 进行授权