分离HEAD
分离HEAD是让HEAD指向某个提交记录
git checkout commitId
cat .git/HEAD // 查看HEAD指向
git switch -c 分支名 // 切一个分支
git switch - // 放弃
复制代码
相对引用与绝对引用
- 相对引用
git checkout main^1
git checkout HEAD^1
git checkout HEAD~1
复制代码
- 直接引用
git checkout commitId
复制代码
git branch -f
git branch -f 分支名(如:main,ps不知道有啥作用) ,强制让main分支拥有某个commitId的记录
git branch -f main HEAD~3
git branch -f main commitId
复制代码
git revert 与 git reset
git reset HEAD^ // 不会产生记录
复制代码
git revert HEAD^ // 会产生记录
复制代码
git cherry-pick
git cherry-pick c1 c2
// 将某个c1 c2 添加到HEAD下面
复制代码
git commit –amend
通常在git rebase -i
修改某个msg使用
git tag
git v0 C1 // 为指定commit打tag
git tag v0 // 查看某个tag的详情
git tag -l // 查看本地所有的tag
复制代码
git pull
git pull 是 git fetch 与 git merge的组合
git pull –rebase
git merge 与git rebase
git rebase // 可以让你的提交树变得很干净
git merge
其他情况
- 设置远程跟踪(远程分支必须存在)
// 第1种,切出一个relase分支,让他跟远程的release关联
git checkout -b release origin/release
// 第2种,让本地foo的分支,和远程main分支关联
git branch -u origin/main foo
复制代码
- git pull、git fetch、git push 设置来源与去向
格式为:git push origin source:destination(git fetch与git pull也是如此)
git push origin foo^:main
// 将本地的foo分支的最近一次commit推送到main分支上去
git push origin foo:main
// 将本地的foo分支的最近一次commit推送到main分支上去
git fetch origin main~1:bar(git pull也可以)
// 从远程的main分支最近一次commit,拉取本地的bar分支
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END