- 上游分支 release-branch,现在要在 release-branch 基础上进行开发
-
先克隆整个项目,此时本地应该只有 master 分支
-
克隆 release-branch 分支,git checkout -b release-branch origin/release-branch,此时本地 release-branch 和远程 release-branch 建立了映射关系,以后可以直接 pull 获得最新版本(tip:如果不想建立追踪关系,可以使用 git fetch origin release-branch:release-branch)
-
拉好该分支后,此时处于release-branch 分支,基于 release-branch 分支拉出来一个开发分支 dev-branch,可以使用 idea 里面的 Git 右键选择 release-branch,然后点击 new branch from …,建立本地的开发分支 dev-branch
-
在本地开发一段时间后,commit 之后不能直接 push 到远程,因为此时 release-branch 上可能也有更新,所以此时要先使用 rebase 更新本地开发分支,然后再 push,具体操作如下
-
git checkout <主分支>
-
git pull
-
git checkout <开发分支>
-
git rebase <主分支>(将当前分支的基底设置为主分支,也就可以把主分支的更新拉过来到当前分支)
-
git push --force origin <开发分支>
-
-
git push
-
第一次使用push,可以使用idea里面的git,右键push,可以设置远程分支,没有也会自动创建并设置关联关系。或者使用git 命令:git push origin feature-branch:feature-branch
-
后续使用push,可以直接切换到该分支上,git push,但是一般都要进行 rebase 更新,所以使用git push --force origin <本地分支名>
-
-
git pull
-
第一次拉某个分支,可以是用 git checkout -b <主分支> orign/<主分支>
-
以后要更新,可以直接 git pull,完整版 git pull origin <远程分支名>:<本地分支名>
-
-
回退
-
git reflog 查看版本号,在 Head{1/2…} 前面的短字符串
-
git reset --hard <版本号>
-
-
参考