
前言
已知一个项目当我们拉取下来肯定会直接存在 master 主分支,那我们实际开发中需要建立自己的分支,以后提交代码也不能提交到 master 分支而是一个开发分支上
# 查看分支
git branch
# 创建分支
git branch xxx
# 切换分支
git checkout xxx
# 将本地分支推送到远程
git push -u origin xxx
# 分支合并,当前为 master,分支 xxx 合并到 master
git merge xxx
第一种切分枝提交方式
假如你是一名项目新加入的成员,已经有一个项目存在于 github 了,github 上有 master 分支用于做最终版本,还有 dev 的开发分支和其他各个人自己的分支
-
我们拿到一个项目,首先需要克隆下来,不管是 ssh 还是 https,但我们实际不能动 master,因此只有把 dev 分支的内容克隆下来
git clone -b dev [项目地址]
-
然后我们在本地从当前分支切出一个新的分支,并切换到这个分支,下方命令等同于两个命令
git branch myBranch
创建分支和git checkout myBranch
切换分支git checkout -b myBranch
-
我们在新分支开发完自己的代码之后,想要提交到 github 远端仓库自己的分支
git add . git commit -m "coomit" git push -u origin myBranch
之后我们记得去远端 github 中手动去 merge 合并到 dev 分支中
-
本地删除 myBranch 分支,删除后以后开发记得在本地主分支 pull origin dev 最新代码
git branch -d myBranch
如果实际项目修改提交合并非常频繁,有人不希望删除这个分支,想将其作为个人分支一直使用也可以,以后在这个分支下
git pull origin dev
拉取最新 dev,或者你更新本地主分支分支再 merge 到 myBranch 也行,之后再提交不删分支。这个用 idea vcs 中的界面操作也很容易实现
第二种切分枝提交方式
这是第二种提交的方式
-
同样,假如一个新的项目直接拉代码下来
git clone [项目地址]
但是发现拉下来的是 master 分支
-
但是想要用 dev 分支的代码进行开发,首先就要把 dev 从远端拉到本地来,然后从那里切出本地的自己分支来开发
# 把远程 dev 拉倒本地来 git fetch origin dev # 在本地创建 myBranch 分支(源自 origin dev),再切换到该分支 git checkout -b myBranch origin/dev
-
当我们在 myBranch 分支开发完代码之后,想要提交到远端 github 自己的分支
git add . git commit -m "commit" git push -u origin myBranch
我们记得去 github 上 merge 到 dev 分支
-
本地删除 myBranch 分支,以后有新的任务再执行一下第二步操作
git branch -d myBranch
如果实际项目修改提交合并非常频繁,有人不希望删除这个分支,想将其作为个人分支一直使用也可以,以后在这个分支下
git pull origin dev
拉取最新 dev,之后再提交不删分支。这个用 idea vcs 中的界面操作也很容易实现
第三种切分枝提交方式
这是第三种方式,看上去很像第一种和第二种的组合,这种方式本地存在 master,存在 dev 分支
-
同样,假如一个新的项目直接拉代码下来
git clone [项目地址]
-
但是想要用 dev 分支的代码进行开发,首先就要把 dev 从远端拉到本地来,然后创建本地的 dev 分支
# 把远程 dev 拉倒本地来 git fetch origin dev # 在本地创建 dev 分支(源自 origin dev),再切换到该分支 git checkout -b dev origin/dev
这样本地就有了 dev 分支了,并且当前处在 dev 分支下
-
从本地 dev 分支切出自己的分支进行开发工作
git checkout -b myBranch
-
这时候我们在 myBranch 分支中开发完之后,希望提交代码到远端仓库的自己分支
git add . git commit -m "commit" git pull git push -u origin myBranch
提交完之后,记得去 github merge 到 dev 中
-
最后我们删除整个 myBranch 分支,删除后以后开发记得在 dev 分支 pull 最新代码
git branch -d myBranch
如果实际项目修改提交合并非常频繁,有人不希望删除这个分支,想将其作为个人分支一直使用也可以,以后在这个分支下
git pull origin dev
拉取最新 dev,或者你更新本地 dev 分支再 merge 到 myBranch 也行,之后再提交不删分支。这个用 idea vcs 中的界面操作也很容易实现