说说你知道的 git 命令。
上周末我在咖啡店写代码,旁边一个小哥突然问我:"你平时用 git 都用啥命令啊?" 我一听这问题,有点像面试题,但想了想,确实是大家每天都要用的东西,于是就随口跟他聊了半天。
初始化和提交
最开始当然是建仓库,最原始的命令就是:
git init
本地起一个仓库,然后你改点代码,加到暂存区:
git add .
git commit -m "fix: 修复了登录的 bug"
这里很多新手会迷惑“暂存区”是啥,其实你就想象成打包好的快递,放那儿准备寄出去,还没真的寄掉。commit 就是寄出去了。
查看改动和撤销
小哥接着问,那如果写错了怎么办?这时候常用的是:
git status
git diff
先看清楚你动了啥,再决定怎么处理。要是某个文件想恢复成上次提交的状态,可以这样:
git checkout -- app.py
如果你已经 add 了,但又后悔了,就把它拿出暂存区:
git reset HEAD app.py
这就好比你快递打包了又拆开。
分支操作
分支是日常必备了,我一般写功能都是新开一个:
git checkout -b feature/login
开发完成就切回主分支合并:
git checkout main
git merge feature/login
合并冲突肯定少不了,文件自己改一改,再 add + commit 就能继续。
远程仓库
聊到 push 的时候,我说一般就是:
git push origin main
但我个人喜欢偷懒,就写了个小 Python 脚本封装一下:
import os
defgit_push(branch="main"):
os.system(f"git push origin {branch}")
git_push("dev")
这样就不用每次敲一大串,简单粗暴。
临时保存和恢复
特别实用的一个命令是 git stash。比如你正在开发,突然被叫去修 bug,就可以:
git stash
git checkout hotfix
修完 bug 再切回来,把之前的工作恢复:
git stash pop
瞬间回到之前的状态,不用乱复制文件。
查看历史
日志命令也挺常用的,推荐这个:
git log --oneline --graph
分支结构一目了然,不然满屏的 log 真是看晕。
稍微进阶一点
像 git rebase、git cherry-pick 这些更适合团队协作,主要是保持提交历史干净,或者挑选某个 commit 单独合并。但我跟那小哥说过一句实话:别一次性堆一堆代码提交,冲突再多都能扛下来,但如果你小步快跑,冲突也就不算啥了。
最后,咖啡喝完了,小哥说他感觉 git 没那么神秘了。其实用来用去,日常开发最常用的就是那几个命令,真正复杂的情况都是团队协作带来的。
-END-
我为大家打造了一份RPA教程,完全免费:songshuhezi.com/rpa.html
虎哥作为一名老码农,整理了全网最全《python高级架构师资料合集》,总量高达650GB,点击下方公众号回复关键字 python 全部免费领