git复习

git pull = git Fetch + merge

git pull --rebase = git Fetch + rebase

git复习_第1张图片

远程追踪

你可以让任意分支跟踪 o/main, 然后该分支会像 main 分支一样得到隐含的 push 目的地以及 merge 的目标。 这意味着你可以在分支 totallyNotMain 上执行 git push,将工作推送到远程仓库的 main 分支上

git checkout -b totallyNotMain o/main

就可以创建一个名为 totallyNotMain 的分支,它跟踪远程分支 o/main

 git复习_第2张图片

 

git clone

克隆一个远程仓库到本地仓库之后,本地会有一个origin/main分支(代表这是你从远程仓库拉取的最后Head记录分支)和main分支(本地用的)

main分支是给你在自己本地仓库用的

git rebase X(插入X后面)与git merge X(把X吞并掉),区别还是大的!

第二种合并分支的方法是 git rebase

git rebase branchB

git rebase branchA branchB

rebase branchB 就是把当前的一条线上的分支(提交记录)都给插到branch B的屁股后面

Rebase 实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去。

Rebase 的优势就是可以创造更线性的提交历史

git复习_第3张图片

执行git

执行git merge test

git复习_第4张图片

 或者

git复习_第5张图片

执行 git rebase test

git复习_第6张图片


 

可视化链接

gitfetch

获取远程仓库最新数据比如orgin/main,但是不会改变本地磁盘内容/main

git fetch 获取远程的数据, 现在我们学习如何将这些变化更新到我们的工作当中

git复习_第7张图片

执行git fetch

git复习_第8张图片

git pull

就是获取后再合并·本地的

由于先抓取更新再合并到本地分支这个流程很常用,因此 Git 提供了一个专门的命令来完成这两个操作。它就是我们要讲的 git pull

git复习_第9张图片

git复习_第10张图片

同样的结果!这清楚地说明了 git pull 就是 git fetch 和 git merge 的缩写!

git push

git push会把当前本地仓库的main那条分支-同步到远程的main

然后本地的o/main会自动同步

git复习_第11张图片

 git复习_第12张图片

 git push origin XXX_local:XXX_remotegit复习_第13张图片

 

git复习_第14张图片

你的本地仓库origin/main和远程仓库的main,对不上,你的origin/main太老了

,git push也会失败 ,则git push要求你得先试着合并

git复习_第15张图片

git push失败解决方法:

在push之前必须同步远程仓库

执行fetch  Or  pull

选择fetch之后

git复习_第16张图片

git rebase o/main
git push

git复习_第17张图片

Pull Request

远程服务器拒绝!(Remote Rejected)

git复习_第18张图片

一般需要在远程克隆到本地的main以外的进行开发 

git复习_第19张图片

你可能感兴趣的:(git,github)