git 多人协同工作 2018-11-07

# git 多人协同工作

1.  从远程仓库上克隆 `dev` 分支;

  ```

  $ git clone -b dev http://oa.zyqwt.com/flash/oa_backend.git

  ```

2. 切换到本地 `dev` 分支,在该 `dev` 分支下新建自己的分支;

  ```

    $ git checkout -b dev_zjf

  ```

3. 切换到自己的本地工作分支,即步骤 2 中的 `dev_zjf` ,在该分支下进行自己的工作,如新增或修改代码;

  ```

  $ git checkout dev_zjf

  ```

4. 完成自己的工作后,把项目提交到自己的远程分支 `dev_zjf`

  ```

  $ git add .

  $ git commit -m '新的代码说明'

  $ git push origin dev_zjf

  ```

5. 切换到本地 `dev` 分支

  ```

  $ git checkout dev

  ```

6. 将本地 `dev` 分支与自己的本地工作分支合并

  ```

  $ git merge dev_zjf

  ```

7. 把本地合并完成的 `dev` 提交到远程仓库 `dev` 。

  > 注意:不能直接将本地 `dev` 提交上去,因为如果你直接这样会将他人提交过的成果直接覆盖(因为在你`clone` 分支 `dev` 之后,别人也有可能对 `dev` 进行修改并提交到远程,这时你的 `dev` 就跟远程的不一样了;如果你直接推送,就会将别人的代码覆盖,会被打死的)

8. 从远程分支 `fetch`

  ```

  // 将远程的dev拉下来作为temp分支(因为别人如果push过,远程的dev就和你本地的dev不一样了)

  $ git fetch origin dev:temp

  // 如果有冲突的话会有提示,然后解决冲突

  $ git merge temp

  ```

9. 解决完冲突后

  ```

  $ git add .

  $ git commit -m '新的代码说明'

  $ git push origin dev

  ```

10. 删除临时分支 `temp`

    ```

    $ git branch -d temp

    ```

11. 同步自己的本地分支 `dev_zjf`

    ```

    $ git checkout dev_zjf

    $ git merge dev

    ```

12. 最后同步自己的远程分支 `dev_zjf`

    ```

    $ git add .

    $ git commit -m '新的代码说明'

    $ git push origin dev_zjf

    ```

    ​

你可能感兴趣的:(git 多人协同工作 2018-11-07)