跳至主要內容

Git Learning

LPrincess大约 2 分钟GithubGit

在github上传项目过程中,git commit时,一不小心就会,出现git上传各种各样奇奇怪怪问题。没办法只能系统学习一下git,有一个git小游戏open in new window是理解 git 的底层逻辑的好方法

基础篇

了解Git 主要命令

  • Git Commit

条件允许的情况下,它会将当前版本与仓库中的上一个版本进行对比,并把所有的差异打包到一起作为一个提交记录。 Git 还保存了提交的历史记录。

git commit -m "123"
git commit -m "456"
  • Git Branch

早建分支!多用分支!

在 Git 2.23 版本中,引入了一个名为 git switch 的新命令,最终会取代 git checkout,因为 checkout 作为单个命令有点超载(它承载了很多独立的功能)。

git switch -c bugFix
  • Git merge && 第一种合并分支方法

Git 中合并两个分支时会产生一个特殊的提交记录,它有两个 parent 节点。

看例题:首先创建分支并切换到该分支,提交一次;再切换回main,提交一次;再把bugFix合并到main中

注意:git merge <branch>命令,其中<branch>为需要合并到当前分支的目标分支名称。

git switch -c bugFix
git commit -m "123"
git switch main
git commit -m "456"
git merge bugFix
  • Git Rebase && 第二种合并分支方法

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

什么意思?看例题:新建并切换到bugFix分支,提交一次;切换main分支提交一次;再切换回bugFix分支,rebase到main上

git switch -c bugFix
git commit -m "123"
git switch main
git commit -m "456"
git switch bugFix
git rebase main

同样把分支bugFix合并到main中:

mergerebase
HEADmainbugFix
gitmerge bugFixrebase main

二者区别:merge是将指定branch合并到HEAD分支中,rebase使用是将HEAD所指向的branch合并到rebase指定分支

高级篇

  • 分离HEAD
上次编辑于:
贡献者: L-mj0