git笔记
1、git commit //提交新的代码到主程序上,依次链接到前方
2、git branch xx //创建新的分支,新建分支在main后面,此时进行commit操作,操作的对象是
main
2.1、git checkout xx //使用刚才创建的xx分支,此时进行操作的对象是xx
2.2、git branch aa xx^^2~3 //新建分支aa,在xx的第二层父类的第二个父类的上面第三个父类的位置
3、git merge //合并分支操作
3.1、git merge xx //将xx合并到main上,merge谁就移动谁
4、git rebase //复制合并分支的操作
4.1、git checkout xx //操作xx分支
4.2、git rebase main //将xx分支合并到main上
4.3、git rebase main xx //将分支xx合并到main后面
5、head //即链表所指的结点,xx和main是指针,指针xx和main所指向的结点c1,用checkout可以直接查看
5.1、git checkout c1 //分离head
6、^和~ //查看指定结点的父提交
6.1、git checkout main^ //切换到main的父结点
6.2、git checkout main^^ //切换到main的第二个父结点
6.3、git checkout HEAD~4 //切换到上边4步
7、git branch -f // 强制移动
7.1、git branch -f main HEAD~3 //强制切换main到head的上边第三层父节点
8、版本重置的两种方式reset和revert
8.1、reset是修改head位置进行版本回退,回退版本之后的提交的版本就没了
git reset HEAD^ //回退到head的上一个版本
8.2、revert是生成一个新的版本,新版本是基于撤销上一版本提交的
git revert HEAD //生成一个新的版本,既是撤销head提交的版本
9、git cheery-pick c2 c3 //直接移动c2,c3到当前分支
9.1、git cherry-pick c5 c4 c3 c2 c1 //新建分支可以没有顺序
10、git rebase -i HEAD~3 //直接通过图形界面调整head所指版本的变更
11、git commit --amend //对当前版本进行小修改
12、git tag v1 c1 //在c1处设立标签v1
13、git describe ref //会返回 g
tag 表示的是离 ref 最近的标签, numCommits 是表示这个 ref 与 tag 相差有多少个提交记录, hash 表示的是你所给定的 ref 所表示的提交记录哈希值的前几位。