Git学习笔记

主要命令

  1. 提交 git commit

  2. 创建新分支 git branch xx git checkout xx git checkout -b xx

  3. 合并分支 git merge xx

  4. 线性合并分支 git rebase xx

相对引用

  1. 分离Head git checkout C4

  2. 相对引用 git checkout main^ main~<num>

  3. 强制修改分支位置 git branch -f main HEAD~3 将 main 分支强制指向 HEAD 的第 3 级父提交

  4. 撤销变更 git reset xx git revert xx

移动提交记录

  1. 将一些提交(除HEAD上游))复制到当前所在的位置(HEAD)下面的话 git cherry-pick <提交号> ...

  2. 交互式的rebase,将提交重新排序以及删除 git rebase -i HEAD~4

杂项

  1. 本地栈式提交 git rebase -i git cherry-pick C3 C4 C2 ...

  2. 对提交做一些小修改 git commit --amend

  3. 永远指向某个提交记录的标签(锚点) git tag v1 <哈希值> 省略则指向HEAD所指向的位置

  4. 描述离当前位置最近的锚点 git describe <ref>

  5. 查找产生Bug的提交记录的指令 git bisect

高级话题

  1. 多分支 rebase git rebase xx yy

  2. 选择父提交记录 git check HEAD^<num> 支持链式操作 git branch bugWork HEAD~^2~2

Git 远程仓库

  1. 在本地克隆远程仓库 git clone

  2. 远程分支 origin/main特性自动进入分离HEAD状态 git checkout o/main

  3. 从远程仓库获取数据,将本地仓库中的远程分支更新成了远程仓库相应分支最新的状态,但不会更新main分支 git fetch http:// git://

  4. 将变化更新到本地的工作中 (先抓取更新再合并到本地分支)git pull 或者 git fetch; git merge o/main

  5. 将本地变更上传到指定的远程仓库,并在远程仓库上合并新提交记录 git push

  6. 在远程仓库变更了以后更新我们的工作 git fetch; git rebase o/main; git push 或者 git fetch; git merge o/main; git push 或者 git pull --rebase; git push

  7. 远程服务器拒绝,策略配置要求 pull requests 来提交更新,需要新建一个分支, 推送(push)这个分支并申请pull request,推送到远程服务器. 然后reset你的main分支和远程服务器保持一致,否则下次你pull并且他人的提交和你冲突的时候就会有问题。

Git 远程仓库高级操作

  1. 合并特性分支

TBC…

参考

  • https://learngitbranching.js.org/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值