Git Learn
Git Learn
Git commit
提交记录,记录点指向下一个新提交的记录节点
Git branch
- git branch + 分支名 (创建一个分支)
- git checkout + 分支名 (切换到分支,*表示当前分支)
Git merge
Git 中合并两个分支时会产生一个特殊的提交记录,它有两个父节点
-
创建一个节点,先合并一个父 节点,再合并另一个节点
-
git merge bugFix
-
git checkout bugFix
-
git merge master
-
-
**任务:**创建一个分支,再合并分支
预期:
Git rebase
合并,生成一条直链
-
git rebase +合并到的分支 (把*当前分支加到 合并的分支)
Git merge 和 rebase的区别
Git checkout HEAD^
往回走,回到当前指向的上一级父类
Git checkout HEAD~(num)
一次性返回多级上一级
Git branch-f (分支名) HEAD~(num)
强制性的将 具体 分支 返回多级父类
Git reset
Git reset + 分支名 (跳到前面哪个版本,废弃所跳版本后的所有版本)
通过把分支记录回退几个提交记录来实现撤销改动。你可以将这想象成“改写历史”
Git revert
revert 是回滚某个 commit ,不是回滚 "到"某个
Git cherry-pick
git cherry-pick + (抓来的分支)
将来抓来的分支拼接到当前HEAD 后
git cherry-pick c2 c4 (当前 HEAD 指向 c5)
Git rebase -i HEAD~(num)
打开ui界面,拼接到当前 * 所指的节点的后面,ui界面可以调整添加到 *节点后面的顺序或者个数(可以删除)
git rebase -i HEAD~4
Git clone
将远程的拷贝复制对象于本地
git clone
Git fetch
当远程仓库数据更新时,本地仓库只需要 git fetch 可以克隆远程仓库的新增项
git fetch
Git pull
git pull 的操作 = git fetch + git merge
本地仓库比较远程端,将未知父节点新增的子节点进行下载,与当前节点作为兄弟节点,再调用 merge 合并
git pull
—>
Git push
本地编辑新增加的数据需要同步到远端
git push
Git pull --rebase
当本地的仓库树与远端的不一致的时候,先合并再push
git pull --rebase == git fetch + git rebase o/master
—>
应用实例
-
模拟远端已经有新的分支,而本地也有新得产物未更新同步
-
git pull --rebase (合并)
-
git push (推送同步)
n