Git 开发全流程基本操作
文章目录
- Git 开发全流程基本操作
- 一、初始化与克隆
- 二、基础开发流程
- 1.状态检查
- 2.提交更改
- 3.同步远程仓库
- 三、分支管理
- 1.基础操作
- 2.合并和解决冲突
- 3.变基(Rebase)
- 四、撤销和回退
- Git 撤销与回退操作速查表
- Git 撤销与回退操作速查表
- 五、临时保存更改
- 六、标签管理
git中文文档
git英文文档
一、初始化与克隆
git init # 初始化新仓库
git clone git@github.com:user/repo.git # SSH方式克隆
git clone https://github.com/user/repo.git # HTTPS方式克隆
二、基础开发流程
1.状态检查
git status # 查看工作区/暂存区状态
git log --oneline --graph # 简洁版提交历史
2.提交更改
git add . # 添加所有修改
git add filename # 添加特定文件
git commit -m "描述信息" # 提交到本地仓库
3.同步远程仓库
git pull origin main # 先拉取最新代码(避免冲突)
git push origin main # 推送本地提交
三、分支管理
1.基础操作
git branch # 查看本地分支
git branch new-branch # 创建新分支
git checkout branch-name # 切换分支
git checkout -b new-branch # 创建并切换分支
2.合并和解决冲突
git merge branch-name # 合并指定分支到当前分支
# 发生冲突时:
git diff # 查看冲突
# 手动解决冲突后:
git add .
git commit
3.变基(Rebase)
git rebase main # 将当前分支变基到main分支
git rebase --abort # 终止变基
注意事项:
- 不要对公共分支变基 (如 main 、 develop ),否则会扰乱别人的提交历史
- 变基会改写提交哈希值 ( commit id 会变),所以已推送到远程的分支慎用。
- 变基后需要强制推送 (如果已推送过):
git push --force-with-lease. # ( --force-with-lease 比 --force 更安全)
四、撤销和回退
Git 撤销与回退操作速查表
Git 撤销与回退操作速查表
操作场景 | 命令 | 说明 |
---|---|---|
撤销工作区修改 | git checkout -- filename | 放弃指定文件的未暂存修改(危险操作,不可逆) |
撤销暂存区文件 | git reset HEAD filename | 将已暂存文件移出暂存区(保留工作区修改) |
修改最后一次提交 | git commit --amend | 修改最近一次提交的message或内容(未push时使用) |
回退到指定提交 | git reset --hard commit-id | 强制回退到指定提交(会丢失之后的修改,慎用) |
撤销远程推送 | git revert commit-id + git push | 通过新增反向提交来安全撤销历史提交(推荐用于已push的提交) |
撤销合并提交 | git revert -m 1 merge-commit-id | 撤销合并提交时需要指定主分支方向(-m 1) |
恢复误删文件 | git checkout commit-id -- filename | 从历史提交中恢复指定文件 |
重置到远程状态 | git fetch origin + git reset --hard origin/main | 完全放弃本地修改,与远程分支保持一致(极端情况使用) |
交互式重置 | git reset --soft HEAD~3 + git commit | 保留工作区修改,合并最近3次提交为1次 |
选择性撤销 | git checkout commit-id -- path/to/file + git commit --amend | 从历史版本恢复特定文件并修改当前提交 |
注意事项:
- 所有
--hard
操作都会永久丢失未提交的修改- 已推送到远程的提交尽量使用
revert
而非reset
- 重要修改前建议先
git stash
保存工作状态- 使用
git reflog
可以找回误操作丢失的提交
五、临时保存更改
git stash # 保存当前工作现场
git stash list # 查看保存的stash
git stash pop # 恢复最近一次stash
git stash apply stash@{n} # 恢复指定stash
六、标签管理
git tag v1.0.0 # 创建轻量标签
git tag -a v1.0.0 -m "版本说明" # 创建附注标签
git push origin v1.0.0 # 推送标签到远程
git tag -d v1.0.0 # 删除本地标签