Git Cheat Sheet——Git的常用命令和最佳做法
一、常见命令
1、创建
克隆现有的存储库
1 | $ git clone ssh: //user@domain.com/repo.git |
创建新的本地存储库
1 | $ git init |
2、本地变化
更改工作目录中的文件
1 | $ git status |
对跟踪文件的更改
1 | $ git diff |
将所有当前更改添加到下一次提交
1 | $ git add . |
将< file >中的一些更改添加到下一次提交
1 | $ git add -p <file> |
提交跟踪文件中的所有本地更改
1 | $ git commit -a |
提交先前阶段的更改
1 | $ git commit |
更改最后提交
不要修改发布的提交!
1 | $ git commit --amend |
3、提交历史
显示所有提交,从最新开始
1 | $ git log |
显示特定文件随时间的变化
1 | $ git log -p <file> |
谁在< file >中更改了内容和时间?
1 | $ git blame <file> |
4、分支和标签
列出所有现有分支
1 | $ git branch -av |
切换分支
1 | $ git checkout <branch> |
根据当前的头部创建一个新分支
1 | $ git branch < new -branch> |
基于远程分支创建新的跟踪分支
1 | $ git checkout --track <remote/bran- ch> |
删除本地分支
1 | $ git branch -d <branch> |
提交标签
1 | $ git tag <tag-name> |
5、更新和发布
列出所有当前配置的远程主机
1 | $ git remote -v |
显示有关远程
1 | $ git remote show <remote> |
添加名为< Remote >的新远程存储库
1 | $ git remote add <shortname> <url> |
从< Remote >下载所有更改,但不要集成到Head中
1 | $ git fetch <remote> |
下载更改并直接合并/集成到头中
1 | $ git pull <remote> <branch> |
在远程上发布本地更改
1 | $ git push <remote> <branch> |
删除远程上的分支
1 | $ git branch -dr <remote/branch> |
发布标签
1 | $ git push --tags |
6、合并和重基
将<分支>合并到当前的头部
1 | $ git merge <branch> |
将当前的头重新定位到<分支>
不要重新发布已发布的提交!
1 | $ git rebase <branch> |
中止重基
1 | $ git rebase --abort |
解决冲突后继续重基
1 | $ git rebase -- continue |
使用配置的合并工具解决冲突
1 | $ git mergetool |
使用编辑器手动解决冲突,并(在解决后)将文件标记为“已解决”。
1 2 | $ git add <resolved-file> $ git rm <resolved-file> |
7、撤销
放弃工作目录中的所有本地更改。
1 | $ git reset --hard HEAD |
放弃特定文件中的本地更改。
1 | $ git checkout HEAD <file> |
还原一个提交(通过产生一个新的具有相反更改的提交)
1 | $ git revert <commit> |
将头指针重置为上一次提交
…并放弃自那以后的所有变化
1 | $ git reset --hard <commit> |
…并将所有更改保留为未分阶段的更改。
1 | $ git reset <commit> |
…并保存未提交的本地更改。
1 | $ git reset --keep <commit> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了