Git 多人协作使用场景
多人单分支
多人修改不同文件
git clone [ssh_url] [project_name] # 克隆远端仓库,本地创建指定项目名称
git config --local user.name "heora" # 设置本地用户名称
git config --local user.email "yueluo.yang@qq.com" # 设置本地邮箱地址
git config --local --list # 查看本地配置
git fetch # 拉取远端分支
git branch -av # 查看所有分支
git merge [remote_branch] # 合并远端分支
or
git pull # 拉取远端分支内容
多人修改同文件不同区域
git pull # 同步远端代码
or
git fetch # 拉取远端分支
git merge # 合并远端分支
多人修改同文件同区域
git pull # 同步远端代码,发生内容冲突
vim index.html # 根据提示直接打开文件进行修改,这里假设是 index.html
git status # 查看 merge 是否完成
git commit # 如果确实已经合并完毕
or
git merge --abort # 如果不想 merge,重新退回,这时可以丢弃 merge 的代码
同时变更文件内容和文件内容
git pull # git 可以感知到文件名变化,直接合并,可以很智能的处理
同一文件改成不同文件
git pull # 本地文件名已修改,线上也被修改,拉取代码时会发生冲突
git status # 查看 git 状态及提示信息,根据提示进行操作
集成分支使用禁忌
git push -f
强制提交,会覆盖线上已有内容。
git push -f # git push --force
gitlab、github 都提供了禁止使用这条命令的机制。(非必要比建议使用)
git rebase
变基会修改历史记录,可能会覆盖其他成员的劳动成果(心怀不轨),会导致其他成员的代码提交报错(指针前移的情况)。
git reabse