git
的开发工作流git commit 【提交记录】
git commit --amend 【修复上一次的提交,不产生新的记录】
git checkout bugFix 【切换分支】【head移动】
git checkout -b bugFix 【创建新分支并切换过去】
git checkout 哈希值 【将HEAD指针指向某个哈希值记录上】
git checkout main^ 【将HEAD指向mian上一级记录】【head移动】
git checkout HEAD~4 【将HEAD指向HEAD向上4个记录】【head移动】
git checkout HEAD^2 【将HEAD移动到他的第二个父记录上】【head移动】
git checkout HEAD~^2~2 【链式操作】【~后省略了1】【解释:向上1,选父2,向上2】
git checkout -b foo o/main 【将foo与o/main进行关联】
git branch bugFix 【创建分支】
git branch bugFix main^^2^ 【在main的上级父2的上级位置创建bugFix】【创建分支】
git branch -f main HEAD~3 【强制将main分支指向HEAD向上第三条记录】【移动分支名称】
git branch -u o/main foo 【将foo与o/main进行关联】
git merge bugFix 【合并bugFix到当前HEAD分支】
git rebase bugFix img 【将img分支上的与bugFix不同的分支内容迁移到bugFix分支下】
git rebase -i HEAD~4 【将HEAD向上的4个记录,交互式重排,形成新的分支】【交互式】
git reset HEAD^ 【将分支退回到上一条记录,之前的修改存在但没有提交】【回退操作】【只对本地记录有效】
git revert HEAD 【将上一步的更改作为新的记录加入分支】
git cherry-pick C1 C2 【将多个哈希记录全部分支到HEAD分支】
git tag v1 C1 【在C1出创建v1 tag】
git fetch 【下载远程分支内容,并更新本地远程分支指针】
git fetch origin source:destination 【同时指定了来源和去向】
git fetch origin :destination 【没有source,表示在本地创建des】
git pull = git fetch + git merge 【下载远程并合并】
git pull --rebase = git fetch + git rebase 【这个效果更好一点,因为没有更多分支结构】
git pull origin source:des 【获取并合并merge】
git push 【提交本地到远程】【没有参数时这里特指将HEAD指针对应的分支同步到远程对应分支】
git push origin main 【带参数时,指定了要将本地main同步到远程main,不管HEAD指向哪里】
git push origin source:destination 【同时指定了来源和去向】【destination不存在时自动创建】【source可以使用相对位置,比如main^】
git push origin :des 【没有source参数时,表示删除远程分支des】