git版本管理工具的常用命令汇总
第一课:创建仓库和第一次提交
1. Git 的三个核心区域:工作区、暂存区、本地仓库
命令 作用
git init 初始化一个空的 Git 仓库
git status 查看当前 Git 仓库的状态
git add <file> 将文件添加到暂存区
git commit -m "说明" 将暂存区的文件提交到本地仓库
git log 查看提交历史
Git 基本流程:工作区 -> git add -> 暂存区 -> git commit -> 本地仓库
第二课:撤销修改和查看历史
1.git diff <file> 查看工作区和暂存区的差异
输出中:红色表示被删除的内容,绿色表示被新增的内容
2.git restor <file> 撤销工作区的修改
3.git restor --staged <file> 销暂存区的修改
4.git log --oneline 查看简洁历史/git log 详细历史 按Q退出 复制提交记录的哈希值,然后git show <hash>查看提交记录的详细信息
5.git commit --amend -m"修正后的提交说明"" 修改最近一次提交的说明
6.git reset --soft HEAD~1 撤销最近一次提交
7.git reset --mix HEAD~1 撤销最近一次提交,保留工作区的修改
8.git reset --hard HEAD~1 撤销最近一次提交,不保留工作区的修改
9.git revert <commit -id> 如果改动已经推送到远端,不要直接用reset,而是使用revert命令,revert命令会生成一个新的提交,新的提交会撤销指定的提交
命令 作用
git diff 查看工作区和暂存区的差异
git reset <file> 撤销工作区的修改
git reset --staged <file> 撤销暂存区的修改
git log 查看详细历史提交记录
git log --oneline 查看简洁历史提交记录
git show <commit -id> 查看提交记录的详细信息
git reset --soft HEAD~1 撤销最近一次提交,保留改动到暂存区
git reset --mix HEAD~1 撤销最近一次提交,保留改动到工作区
git reset --hard HEAD~1 撤销最近一次提交,不保留改动
git revert <commit -id> 撤销指定的提交
第三课:分支与合并
分之就是代码发展一条独立的线路
main(或master):主分支,用于发布新版本,保存稳定的版本
开发新功能时,从主分支创建一个新分支,新分支开发完成后,合并到主分支
1.git branch 查看分支
2.git branch <name> 创建分支
3.git switch <name> 切换分支
4.git merge <name> 合并分支
5.git branch -d <name> 删除分支
6.git branch -D <name> 强制删除分支
第四课:冲突解决
当两个分修改了同一个文件的同一个地方,并且这两个修改互相矛盾时,就会产生冲突,需要手动解决冲突
1.git merge <name> 合并分支
2.git status 查看冲突文件
3.git diff <file> 查看冲突内容
4.git merge --abort 放弃合并
5.git add <file> 解决冲突后,添加到暂存区
6.git commit -m "解决冲突" 提交解决冲突后的代码
第五课:远程仓库与协作
远程仓库:托管在互联网上的git仓库,常见平台有github、gitee、gitlab等
origin:远程仓库的别名
1.git remote -v: 查看远程仓库的别名
2.git push -u origin master: 将本地仓库的master分支推送到远程仓库,并设置origin为远程仓库的别名
3.git push 后续再推送时,不需要指定远程仓库的别名和分支名
4.git push 拉取远程仓库的代码
5.git pull 拉取远程仓库的代码,并合并到本地仓库
6.git fetch 拉取远程仓库的代码,不合并到本地仓库
7.git clone https://github.com/别人用户名/仓库名.git:从远程仓库克隆代码到本地
命令 作用
git remote add origin <url> 关联远程仓库
git remote -v 查看远程仓库的别名
git push -u origin master 将本地仓库的master分支推送到远程仓库,并设置origin为远程仓库的别名
git push 后续再推送时,不需要指定远程仓库的别名和分支名
git pull 拉取远程仓库的代码,并合并到本地仓库
git fetch 拉取远程仓库的代码,不合并到本地仓库
git clone <url> 从远程仓库克隆代码到本地
第六课:储存与标签
假设假设你正在开发一个功能,代码写到一半,突然需要切换到另一个分支去修复 bug。这时你不想提交半成品的代码,但直接切换分支可能会报错。
git stash 就是用来临时保存这些未完成的改动,让工作区回到干净状态。以后想恢复未完成的工作,再使用 git stash pop 恢复。
1.git stash 临时储存工作区的改动
2.git stash list 查看储藏列表
3.git stash pop 恢复储藏的改动
4.git stash apply 恢复储藏的改动并不删除
5.git stash drop stash@{0} 删除指定储藏的改动
6.git stash clear 删除所有储藏的改动
标签:给特定的提交打上标签,方便以后查找
1.git tag V1.0.0 创建轻量标签
2.git tag -a V1.0.0 -m "标签说明" 创建附注标签
3.git tag 查看标签
4.git show <tagname> 查看标签信息
5.git tag -a v1.0.0 -m "标签说明" <commit -id> 给指定的提交创建标签
6.git push origin <tagname> 将标签推送到远程仓库
7.git push origin --tags 将所有标签推送到远程仓库
8.git tag -d <tagname> 删除本地标签
9.git push origin --delete <tagname> 删除远程标签
存储命令:
命令 作用
git stash 储藏当前未提交改动
git stash list 查看储藏列表
git stash pop 恢复并删除最近储藏
git stash apply 恢复最近储藏但不删除
git stash drop 删除指定储藏
git stash clear 清空所有储藏
标签命令:
命令 作用
git tag <name> 创建轻量标签
git tag -a <name> -m "说明" 创建附注标签
git tag 查看所有标签
git show <name> 查看标签详情
git push origin <name> 推送单个标签
git push origin --tags 推送所有标签
git tag -d <name> 删除本地标签
第七课:变量与基线历史
命令 作用
git rebase <branch> 把当前分支变基到目标分支
git rebase -i HEAD~n 交互式整理最近 n 次提交
git rebase --continue 解决冲突后继续变基
git rebase --abort 放弃变基
git log --oneline --graph 图形化查看历史
第八课:完整开发过程
# 1. 拉取最新 main
git switch main
git pull origin main
# 2. 创建功能分支
git switch -c feature/payment
# 3. 开发并提交
git add .
git commit -m "feat: 添加支付模块"
# 4. 保持分支同步
git fetch origin
git rebase origin/main
# 5. 推送分支
git push -u origin feature/payment
# 6. 发起 Pull Request 并请求审查
# 7. 合并后清理分支
git switch main
git pull origin main
git branch -d feature/payment
