一些常用的 git 操作

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

一些常用的 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 内核开发而开发的一个开放源码的版本控制软件。

    205 引用 • 357 回帖

相关帖子

欢迎来到这里!

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

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