2026/1/2 23:12:04
网站建设
项目流程
宁阳网站定制,网站建设首选云端高科,网站流量,现在pc端网站开发用的什么技术基本概念
分支推送策略分支类型是否需推送远程原因master✅ 必须主分支需保持全局同步dev✅ 必须团队协作开发的基础分支bug❌ 通常不需要本地修复使用#xff0c;除非需要审查feature⚠️ 按需仅当多人协作开发该功能时需要推送原则
先拉后推 —— 永远在 git pull 获取最新代…基本概念分支推送策略分支类型是否需推送远程原因master✅ 必须主分支需保持全局同步dev✅ 必须团队协作开发的基础分支bug❌ 通常不需要本地修复使用除非需要审查feature⚠️ 按需仅当多人协作开发该功能时需要推送原则先拉后推—— 永远在git pull获取最新代码后再执行git push分支可见性—— 本地新建分支不推送则对他人不可见命名一致性—— 建议本地分支名与远程分支名保持一致查看远程库信息查看远程库基本信息$ git remote origin查看远程库详细信息$ git remote -v origin gitgithub.com:aaa/bbb.git (fetch) origin gitgithub.com:aaa/bbb.git (push)注意远程仓库默认名称origin首次接入项目相关指令git clone—— 克隆远程仓库到本地git checkout -b—— 从远程分支创建本地分支并建立追踪场景开发者首次接入远程仓库aaa/bbb.git进行开发克隆远程仓库到本地 —— 仅能看到origin/master分支$ git clone gitgithub.com:aaa/bbb.git Cloning into aaa... remote: Counting objects: 40, done. remote: Compressing objects: 100% (21/21), done. remote: Total 40 (delta 14), reused 40 (delta 14), pack-reused 0 Receiving objects: 100% (40/40), done. Resolving deltas: 100% (14/14), done.[!tip]注意克隆时自动建立本地master与远程origin/master的关联关联远程分支dev到本地建立追踪$ git checkout -b dev origin/dev# 关联成功时的响应 Branch dev set up to track remote branch dev from origin. # 分支追踪关系建立 Switched to a new branch dev # 成功创建并切换到新分支 dev# 关联失败时的响应 fatal: origin/dev is not a commit and a branch dev cannot be created from it # 检查远程是否有该分支推送文件和冲突解决相关指令git push—— 推送本地分支到远程git pull—— 拉取远程分支到本地git branch --set-upstream-to—— 指定本地与远程分支的关联场景开发者A推送文件A到远程此时开发者B再推送自己修改的文件A时发生冲突开发者A推送文件A到远程dev—— 推送成功$ git push origin devCounting objects: 5, done. # 统计需要推送的Git对象数量 Delta compression using up to 8 threads. # 使用8线程进行差异压缩 Compressing objects: 100% (3/3), done. # 成功压缩3个对象 Writing objects: 100% (5/5), 2.34 KiB | 2.34 MiB/s, done. # 写入5个对象速度2.34MB/s Total 5 (delta 1), reused 0 (delta 0) # 总计5对象1个差异无复用对象 To github.com:user/repo.git # 目标远程仓库地址 1a2b3c4..6d7e8f9 dev - dev # 成功将本地dev分支推送到远程dev分支开发者B推送文件A到远程dev—— 推送失败发生冲突$ git push origin devTo github.com:aaa/bbb.git ! [rejected] dev - dev (non-fast-forward) # 推送拒绝dev无法快进合并远程有本地没有的新提交 error: failed to push some refs to gitgithub.com:aaa/bbb.git hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: git pull ...) before pushing again. hint: See the Note about fast-forwards in git push --help for details.开发者B尝试拉取远程分支dev—— 拉取失败未建立分支dev的连接$ git pullThere is no tracking information for the current branch. # 当前分支未关联到任何远程分支 Please specify which branch you want to merge with. # 需明确指定要拉取的远程分支 See git-pull(1) for details. git pull remote branch # 临时指定显式指定远程分支 If you wish to set tracking information for this branch you can do so with: # 如果想建立长期关联 git branch --set-upstream-toorigin/branch dev # 长期关联将当前本地分支关联到指定的远程分支开发者B指定本地与远程dev的连接$ git branch --set-upstream-toorigin/dev devBranch dev set up to track remote branch dev from origin.开发者B再次拉取远程分支dev—— 拉取成功但本地存在冲突需要解决$ git pullAuto-merging A.txt # Git尝试自动合并A.txt文件 CONFLICT (add/add): Merge conflict in A.txt # 冲突类型双方都新增了该文件且内容不同 Automatic merge failed; fix conflicts and then commit the result. # 自动合并失败需手动解决冲突后提交开发者B在本地解决冲突开发者B再次推送文件 —— 推送成功$ git push origin devCounting objects: 6, done. Delta compression using up to 4 threads. Compressing objects: 100% (4/4), done. Writing objects: 100% (6/6), 621 bytes | 621.00 KiB/s, done. Total 6 (delta 0), reused 0 (delta 0) To github.com:aaa/bbb.git 7a5e5dd..57c53ab dev - dev推送原则先拉后推—— 永远先拉取git pull获取最新代码再推送git push