工作中项目 git 如何管理,冲突如何解决
涉及知识点
- 公司中
git仓库管理方式是怎样的- 代码为何
push不上线上仓库- 如何解决冲突
Git主流两种管理方式
Git单仓库模式
进入一家公司,领导会给你分配一个 git 账号以及项目代码仓库,此时可以去到仓库地址,基于 master 主分支新建一个自己的代码分支,可以用 git checkout -b 命令,也可以在线上仓库新建分支,本案例选择在线上仓库新建一个名为 daodao-new 分支。
新建完毕后 git clone 克隆代码到本地,此时需要注意克隆下来的是在主分支,且 git branch 查看所有分支时也只有 master 主分支,因此需要 git checkout -b daodao-new 切换到对应的分支,注意分支名要和之前创建的一样。切换完毕后 git status 查看状态,提示 On branch daodao-new 即为成功。
写完代码后,git add . 提交代码,git commit -m '提交信息' 提交到本地仓库,此时不能直接 git push 提交远程仓库,这会报错,因为 git push 默认提交到 master 主分支,应该要 git push origin daodao-new 提交到远程仓库。
提示
origin 表示远端,daodao-new 表示分支名,整条命令表示将本地 daodao-new 分支提交到远程仓库。
后续开发完后就需要代码合并了,此时需要将代码合并到主分支,git checkout master 切换到主分支,先 git pull 拉取最新代码,然后 git merge daodao-new 合并代码,合并完毕后 git push 提交到远程仓库。
Git多仓库模式
到公司主仓库下找到对应项目代码仓库,点击右上角 fork 按钮,将代码仓库复制一份到自己的账号下,此时会提示你选择一个目标仓库,选择自己的账号。此时开发都是在自己的账号下开发,即使本地搞崩了也可以重新 fork 重新开发,不用担心影响主仓库。
fork 完毕后,git clone 代码到本地,注意 clone 的是自己账号的地址。修改完毕后,git add . 提交代码,git commit -m '提交信息' 提交到本地仓库,git push 推送到主分支。
如果提示 Access denied 403,则表示当前到 git 账号没有权限,需要修改 git 的账号密码。电脑修改 git 账号密码步骤如下:
- 设置打开控制面板,找到「所有控制面选项」->「用户账户」->「管理账户」
- 点击左侧「管理我的凭据」,选择「Windows 凭据」
- 找到
git,点击「编辑」,修改账号密码即可
开发完且代码提交完毕后,需要将代码合并到主仓库,此时需要点击主仓库右上角 Pull requests 按钮,点击 New pull request 按钮,选择要合并的分支,点击 Create pull request 按钮,填写合并信息,点击 Create pull request 按钮,等待管理员审核即可。
下面来一个一图流总结:

Git冲突原因和解决
账号无权限
此时申请账号权限即可。
本地比线上落后

解决方案为:
- 先
git pull拉取线上代码 - 查看是否有冲突,如果有冲突,解决冲突,保留谁的代码,还是双方代码都保留
- 解决冲突后,
git add .提交代码,git commit -m '提交信息'提交到本地仓库,git push提交到线上仓库
- 先