一些常用的 git 操作

本贴最后更新于 2060 天前,其中的信息可能已经事过景迁

一些常用的 git 操作

Clone Add Commit

这三个最常用的也没什么好说的

git clone git@github.com/xxx.git git add . git commit -m '' git push origin master

这两天康了康自己的 commit log,发现一开始没有遵守规范导致特别混乱,就各种查询如何修改这个 log

Rebase

pick:保留该commit(缩写:p) reword:保留该commit,但我需要修改该commit的注释(缩写:r) edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e) squash:将该commit和前一个commit合并(缩写:s) fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f) exec:执行shell命令(缩写:x) drop:我要丢弃该commit(缩写:d)

如果只是单纯的更改某一条 commit log

git rebase -i HEAD~10 //查看以上10条 // 然后想编辑哪一个log的信息就在那一行按 i 进入insert模式 // 将pick -> reword(r) // 然后 esc -> :wq 保存退出 // 没有问题git会自动打开这一条的commit log 然后安装规范修改即可 // 修改完后使用 git push -f // 强制提交一波完成

如果想要合并多条 commit log

git rebase -i <commit-ID> // 这里填写要合并的log里最早的那条log的前一条 // eg. git log 查看的log从上到下为 1->2->3->4 要合并1,2,3 则使用git rebase -i 4(commit-ID) // 按 i 进入insert模式 将2,3 两条log前面的pick->squash(s) // 然后 esc -> :wq 保存退出 // 这里同上 会打开合并了的log // 然后按照规范修改log即可,将合并前的多条log删除 // 在 # The first commit's message is: 下面写上诸如fix/feat/chore等更改 // 之后 esc-> :wq 保存退出 // 然后 git push -f // 提交即可

Fork

fork 别人的仓库起名为 upstream

点击 fork 后在自己目录下创建的叫做 origin

clone origin 到本地

// 长时间没更新 upstream代码比origin新怎么办 // 在本地使用 git remote -v // 查看 一般只要两条 origin(fetch/push) // 添加upstream git remote add upstream 'https://xxx/xx.git' // 然后查看 git remote -v // 四条 origin(fetch/push) upstream(fetch/push) // 然后fetch upstream git fetch upstream // 获取upstream的更新 // 然后合并到本地分支 git merge upstream/master // 这时候查看log git log // 可以看到log已经包括更新的部分了 // 推送 git push // 此时自己github上fork的仓库已经同步更新了
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    211 引用 • 358 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...