本地仓库使用:
git branch bugFix :新建一个bugFix分支,但是目前还在main分支上
git merge bugFix : 将bugFix合并到当前分支
git rebase : 假设当前在bugFix分支上, git rebase main == git rebase main bugFix ,将bugFix的基设置为main。
git checkout : 可以切换HEAD的位置。git checkout bugFix 让HEAD指向bugFix分支最新的提交。 git checkout c3 让HEAD指向c3这个提交
git reset 和 git revert : 回退
git reset HEAD^ : main向上回退一次提交 git revert HEAD^ : mian上一次的提交复制到main后面
git cherry-pick <提交号>... :将某几个提交复制到当前位置(HEAD)下.
git cherry-pick c2 c4:
远程仓库相关:
Git 在推送本地本地分支到远程时也会在本地创建一个远程分支。如main被推送到远程仓库,本地会创建一个origin/main分支,这个分支始终保持和远程仓库一样。
1、Git fetch origin main: 同步远程仓库数据和本地远程分支的数据。但是本地的分支不变。
即仅同步 远程仓库 ----- origin/main。 main分支保持不变
2、git pull origin main : 同步远程仓库和本地仓库的远程分支------------git fetch origin main , 然后将本地仓库的远程分支合 (o/main) 并到本地分支上 (main), 相当于在main分支上执行--------git merge o/main
3、git push origin main :将本地分支main修改更新到远程仓库。同时本地的远程分支o/main也会和远程仓库同步。
4、团队合作:当其他人更新了远程仓库,需要先在本地合并远程仓库内容,在推送到远程,有两种方法。
- git pull origin main ; git push origin main; 相当于 git fetch origin main; git merge o/main; git push origin main;
- git pull --rebase origin main; git push origin main; 相当于git fetch origin main;
git rebase o/main; git push origin main;