当前位置: 首页 > news >正文

十大品牌网站微网站制作工具

十大品牌网站,微网站制作工具,做网站一年赚一千万,网站建设作文章目录 前言 一、多人协作开发 1.1 多人协作一 1.2 多人协作二 1.3 远程分支删除后#xff0c;本地 git branch -a 依然能看到的解决办法 总结 前言 一、多人协作开发 1.1 多人协作一 目前#xff0c;我们所完成的工作如下: 基本完成Git的所有本地库的相关操作#xff0… 文章目录 前言 一、多人协作开发 1.1 多人协作一 1.2 多人协作二 1.3 远程分支删除后本地 git branch -a 依然能看到的解决办法 总结 前言 一、多人协作开发 1.1 多人协作一 目前我们所完成的工作如下: 基本完成Git的所有本地库的相关操作git基本操作分支理解版本回退冲突解决等申请码云账号将远端信息clone到本地以及推送和拉取。 是时候干最重要的一件事情了实现多人协作开发 为了做这件事情我们需要先做一些准备工作。 我们之前已经将项目clone到了指定目录如: 代码示例 hyb139-159-150-152:~/git_teaching$ pwd /home/hyb/git_teaching  我们在windows环境下再clone同一个项目仓库来模拟和你一起协作开发的另一名小伙伴 Clone 成功 注意课件中是模拟了两个用户实际开发中每个用户都有自己的gitee/github账号 如果要多人进行协同开发必须要将用户添加进开发者用户才有权限进行代码提交: 点击邀请用户 到此相当于有了两个用户分别在linux和windows上针对于同项目进行协作开发我们的准备工作到此结束。 目前我们的仓库中只有一个master主分支但在实际的项目开发中在任何情况下其实都是不允许直接在master分支上修改代码的这是为了保证主分支的稳定。 所以在开发新功能时常常会新建其他分支供开发时进行迭代使用。 那么接下来就让我们在gitee 上新建dev远程分支供我们使用: 创建成功 创建成功的远程分支是可以通过Git拉取到本地来以实现完成本地开发工作。 接下来让我们和另一名开发的小伙伴都将远程仓库进行一次拉取操作并观察结果:. 对于我们要操作的是: 代码示例 hyb139-159-150-152:~/git_teaching$ git pull From gitee.com:hyb91/git_teaching * [new branch] dev - origin/dev Already up to date. # 注之前讲的 git branch 其实只能查看本地分支要查看远程分支需要加上-r选项。 # 但前提是要pull⼀下拉取最新的远端仓库才能看到最新的内容。 hyb139-159-150-152:~/git_teaching$ git branch -r origin/HEAD - origin/master origin/dev origin/master hyb139-159-150-152:~/git_teaching$ git checkout -b dev origin/dev Branch dev set up to track remote branch dev from origin. Switched to a new branch dev 代码说明 拉取后便可以看到远程的dev分支接着切换到dev分支供我们进行本地开发。 要说明的是我们切换到的是本地的dev分支根据示例中的操作会将本地分支和远程分支的进行关系链接。 对于小伙伴要操作的是: 现在你和你的小伙伴就可以在dev上完成开发。 首先让我们在dev分支上进行一次开发并push到远程。 代码示例 hyb139-159-150-152:~/git_teaching$ vim file.txt hyb139-159-150-152:~/git_teaching$ cat file.txt hello git complete the first function! hyb139-159-150-152:~/git_teaching$ git add file.txt hyb139-159-150-152:~/git_teaching$ git commit -m first function [dev 305f78a] first function 1 file changed, 1 deletion(-) hyb139-159-150-152:~/git_teaching$ git push origin dev # 将dev分⽀推送到远端 Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 287 bytes | 287.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-6.4] To gitee.com:hyb91/git_teaching.git cc3be59..305f78a dev - dev 让我们来看看码云上目前仓库的状态 至此我们已经将代码成功推送至码云接下来假如你的小伙伴要和你协同开发碰巧也要对file.txt文件作修改并试图推送例如: 图示说明 这时推送失败因为你的小伙伴的最新提交和你推送的提交有冲突解决办法也很简单Git已经提示我们先用git pull/把最新的提交从 origin/dev抓下来然后在本地进行合并并解决冲突再推送。 代码操作如下: 解决冲突重新推送。 代码示例如下: 此时我们看到远端的码云已经能看到我们的新提交了 图示示例 由此两名开发者已经开始可以进行协同开发了不断的git pull/add/commit/push ,遇到了冲突就使用我们之前讲的冲突处理解决掉冲突。 对于你来说要想看到小伙伴的代码只需要pull一下即可 代码示例: hyb139-159-150-152:~/git_teaching$ cat file.txt hello git complete the first function! hyb139-159-150-152:~/git_teaching$ git pull Updating 305f78a..72c5345 Fast-forward file.txt | 1 1 file changed, 1 insertion() hyb139-159-150-152:~/git_teaching$ cat file.txt hello git complete the first function! complete the second function! 最后不要忘记虽然我们是在分支上进行多人协作开发但最终的目的是要将开发后的代码合并到master上去让我们的项目运行最新的代码。接下来我们就需要做这件事情了∶ 代码示例 # 切换至master分支, pull ⼀下保证本地的master是最新内容。 # 合并前这么做是⼀个好习惯 hyb139-159-150-152:~/git_teaching$ git checkout master Switched to branch master Your branch is up to date with origin/master. hyb139-159-150-152:~/git_teaching$ git pull Already up to date. # 切换至 dev 分支 合并 master 分支 # 这么做是因为如果有冲突可以在dev分支上进行处理而不是在在master上解决冲突。 # 这么做是⼀个好习惯 hyb139-159-150-152:~/git_teaching$ git checkout dev Switched to branch dev Your branch is up to date with origin/dev. hyb139-159-150-152:~/git_teaching$ git merge master Already up to date. # 切换至 master 分支合并 dev 分支 hyb139-159-150-152:~/git_teaching$ git checkout master Switched to branch master Your branch is up to date with origin/master. hyb139-159-150-152:~/git_teaching$ git merge dev Updating 7388a31..72c5345 Fast-forward file.txt | 2 1 file changed, 2 insertions() hyb139-159-150-152:~/git_teaching$ cat file.txt hello git complete the first function! complete the second function! # 将 master 分支推送至远端 hyb139-159-150-152:~/git_teaching$ git status On branch master Your branch is ahead of origin/master by 4 commits. (use git push to publish your local commits) nothing to commit, working tree clean hyb139-159-150-152:~/git_teaching$ git push origin master Total 0 (delta 0), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-6.4] To gitee.com:hyb91/git_teaching.git 7388a31..72c5345 master - master hyb139-159-150-152:~/git_teaching$ git status On branch master Your branch is up to date with origin/master. nothing to commit, working tree clean 此时查看远端仓库master已经是最新代码了 此时dev分支对于我们来说就没用了那么dev分支就可以被删除掉。我们可以直接在远程仓库中将dev分支删除掉: 总结一下在同一分支下进行多人协作的工作模式通常是这样: 首先可以试图用git push origin branch-name推送自己的修改; 如果推送失败则因为远程分支比你的本地更新需要先用git pull试图合并; 如果合并有冲突则解决冲突并在本地提交; 没有冲突或者解决掉冲突后再用git push origin branch-name推送就能成功! 功能开发完毕将分支merge进 master最后删除分支。 1.2 多人协作二 一般情况下如果有多需求需要多人同时进行开发是不会在一个分支上进行多人开发而是一个需求或一个功能点就要创建一个feature分支。 现在同时有两个需求需要你和你的小伙伴进行开发那么你们俩便可以各自创建一个分支来完成自己的工作。 在上个部分我们已经了解了可以从码云上直接创建远程分支其实在本地创建的分支也可以通过推送的方式发送到远端。在这个部分我们就来用一下这种方式。 对于你来说,可以进行以下操作: 代码示例 # 新增本地分支 feature-1 并切换 hyb139-159-150-152:~/git_teaching$ git branch dev * master hyb139-159-150-152:~/git_teaching$ git checkout -b feature-1 Switched to a new branch feature-1 # 新增需求内容-创建function1文件 hyb139-159-150-152:~/git_teaching$ vim function1 hyb139-159-150-152:~/git_teaching$ cat function1 Done! # 将 feature-1 分支推送到远端 hyb139-159-150-152:~/git_teaching$ git add function1 hyb139-159-150-152:~/git_teaching$ git commit -madd function1 [feature-1 12ed0db] add function1 1 file changed, 1 insertion() create mode 100644 function1 hyb139-159-150-152:~/git_teaching$ git push origin feature-1 Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 270 bytes | 270.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-6.4] remote: Create a pull request for feature-1 on Gitee by visiting: remote: https://gitee.com/hyb91/git_teaching/pull/new/hyb91:feature-1...hyb9 To gitee.com:hyb91/git_teaching.git * [new branch] feature-1 - feature-1 对小伙伴来说可以进行以下操作   此时在本地你看不见他新建的文档他看不见你新建的文档。并且推送各自的分支时并没有任何冲突你俩互不影响用起来很舒服!! 再来看下远端码云上此时的状态: 对于你的feature-1分支 对于小伙伴的feature-2分支 正常情况下你俩就可以在自己的分支上进行专业的开发了! 但天有不测风云你的小伙伴突然生病了但需求还没开发完需要你帮他继续开发于是他便把feature-2分支名告诉你了。 这时你就需要在自己的机器上切换到feature-2分支帮忙继续开发 要做的操作如下: 代码示例 # 必须先拉取远端仓库内容 hyb139-159-150-152:~/git_teaching$ git pull ... From gitee.com:hyb91/git_teaching 305f78a..72c5345 dev - origin/dev * [new branch] feature-2 - origin/feature-2 ... # 可以看到远程已经有了feature-2 hyb139-159-150-152:~/git_teaching$ git branch -a dev * feature-1 master remotes/origin/HEAD - origin/master remotes/origin/dev remotes/origin/feature-1 remotes/origin/feature-2 remotes/origin/master # 切换到feature-2分⽀上可以和远程的feature-2分⽀关联起来 # 否则将来只使⽤ git push 推送内容会失败 hyb139-159-150-152:~/git_teaching$ git checkout -b feature-2 origin/feature-2 Branch feature-2 set up to track remote branch feature-2 from origin. Switched to a new branch feature-2 hyb139-159-150-152:~/git_teaching$ ls a.so b.ini file.txt  function2 README.en.md README.md 切换成功后便可以看见 feature-2 分支中的 function2 文件了接着就可以帮小伙伴进行开发 代码示例 # 继续开发 hyb139-159-150-152:~/git_teaching$ vim function2 hyb139-159-150-152:~/git_teaching$ cat function2 Done! Help done! # 推送内容 hyb139-159-150-152:~/git_teaching$ git add function2 hyb139-159-150-152:~/git_teaching$ git commit -mmodify function2 [feature-2 1079ae7] modify function2 1 file changed, 2 insertions(), 1 deletion(-) hyb139-159-150-152:~/git_teaching$ git push origin feature-2 Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 262 bytes | 262.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-6.4] To gitee.com:hyb91/git_teaching.git e1233f1..1079ae7 feature-2 - feature-2 查看远程状态推送成功了 这时你的小伙伴已经修养的差不多可以继续进行自己的开发工作那么他首先要获取到你帮他开发的内容然后接着你的代码继续开发。或者你已经帮他开发完了那他也需要在自己的电脑上看看你帮他写的代码: 代码示例 Pull无效的原因是小伙伴没有指定本地feature-2分支与远程origin/feature-2分支的链接根据提示设置feature-2和origin/feature-2的链接即可: 代码示例 目前小伙伴的本地代码和远端保持严格一致。你和你的小伙伴可以继续在不同的分支下进行协同开发了。 各自功能开发完毕后不要忘记我们需要将代码合并到master中才算真正意义上的开发完毕。 由于你的小伙伴率先开发完毕于是开始merge : 代码示例 此时远程仓库的状态 当你的小伙伴将其代码merge到master后 这时你也开发完成了也需要进行merge到master操作于是你: 代码示例 # 切换⾄ master分⽀, pull ⼀下保证本地的master是最新内容。 # 合并前这么做是⼀个好习惯 hyb139-159-150-152:~/git_teaching$ git checkout master Switched to branch master Your branch is up to date with origin/master. hyb139-159-150-152:~/git_teaching$ git pull From gitee.com:hyb91/git_teaching 72c5345..29006bd master - origin/master Updating 72c5345..29006bd Fast-forward function2 | 2 1 file changed, 2 insertions() create mode 100644 function2 # 切换⾄ feature-1 分⽀, 合并 master 分⽀ # 这么做是因为如果有冲突可以在feature-1分⽀上进⾏处理⽽不是在在master上解决冲突。 # 这么做是⼀个好习惯 hyb139-159-150-152:~/git_teaching$ git checkout feature-1 Switched to branch feature-1 Your branch is up to date with origin/feature-1. hyb139-159-150-152:~/git_teaching$ git merge master Merge made by the recursive strategy. function2 | 2 1 file changed, 2 insertions() create mode 100644 function2 hyb139-159-150-152:~/git_teaching$ ls a.so b.ini file.txt function1 function2 README.en.md README.md # 1、由于feature-1分⽀已经merge进来了新内容为了保证远程分⽀最新所以最好push⼀下。 # 2、要 push 的另⼀个原因是因为在实际的开发中master的merge操作⼀般不是由我们⾃⼰在本地进 # 其他⼈员或某些平台merge时操作的肯定是远程分⽀所以就要保证远程分⽀的最新。 # 3、如果 merge 出现冲突不要忘记需要commit才可以push!! hyb139-159-150-152:~/git_teaching$ git status On branch feature-1 Your branch is ahead of origin/feature-1 by 4 commits. (use git push to publish your local commits) nothing to commit, working tree clean hyb139-159-150-152:~/git_teaching$ git push origin feature-1 Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Compressing objects: 100% (2/2), done. Writing objects: 100% (2/2), 299 bytes | 299.00 KiB/s, done. Total 2 (delta 1), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-6.4] To gitee.com:hyb91/git_teaching.git ea75a35..4b4c3d4 feature-1 - feature-1 # 切换⾄ master 分⽀合并 feature-1 分⽀ hyb139-159-150-152:~/git_teaching$ git checkout master Switched to branch master Your branch is up to date with origin/master. hyb139-159-150-152:~/git_teaching$ git merge feature-1 Updating 29006bd..4b4c3d4 Fast-forward function1 | 1 1 file changed, 1 insertion() create mode 100644 function1 hyb139-159-150-152:~/git_teaching$ ls a.so b.ini file.txt function1 function2 README.en.md README.md # 将 master 分⽀推送⾄远端 hyb139-159-150-152:~/git_teaching$ git status On branch master Your branch is ahead of origin/master by 3 commits. (use git push to publish your local commits) nothing to commit, working tree clean hyb139-159-150-152:~/git_teaching$ git push origin master Total 0 (delta 0), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-6.4] To gitee.com:hyb91/git_teaching.git 29006bd..4b4c3d4 master - master hyb139-159-150-152:~/git_teaching$ git status On branch master Your branch is up to date with origin/master. nothing to commit, working tree clean 此时远程仓库的状态 此时feature-1和feature-2分支对于我们来说就没用了那么我们可以直接在远程仓库中将dev分支删除掉 这就是多人协作的工作模式,一旦熟悉了,就非常简单。 1.3 远程分支删除后本地 git branch -a 依然能看到的解决办法 当前我们已经删除了远程的几个分支使用git branch -a命令可以查看所有本地分支和远程分支但发现很多在远程仓库已经删除的分支在本地依然可以看到。 代码举例: hyb139-159-150-152:~/git_teaching$ git pull Already up to date. hyb139-159-150-152:~/git_teaching$ git branch -a dev feature-1 feature-2 * master remotes/origin/HEAD - origin/master remotes/origin/dev remotes/origin/feature-1 remotes/origin/feature-2 remotes/origin/master 使用命令git remote show origin可以查看remote地址远程分支还有本地分支与之相对应关系等信息。 代码示例 hyb139-159-150-152:~/git_teaching$ git remote show origin * remote origin Fetch URL: gitgitee.com:hyb91/git_teaching.git Push URL: gitgitee.com:hyb91/git_teaching.git HEAD branch: master Remote branches: master tracked refs/remotes/origin/dev stale (use git remote prune to remove) refs/remotes/origin/feature-1 stale (use git remote prune to remove) refs/remotes/origin/feature-2 stale (use git remote prune to remove) Local branches configured for git pull: dev merges with remote dev feature-1 merges with remote feature-1 feature-2 merges with remote feature-2 master merges with remote master Local ref configured for git push: master pushes to master (up to date) 此时我们可以看到那些远程仓库已经不存在的分支 根据提示使用git remote pruneorigin命令: hyb139-159-150-152:~/git_teaching$ git remote prune origin Pruning origin URL: gitgitee.com:hyb91/git_teaching.git * [pruned] origin/dev * [pruned] origin/feature-1 * [pruned] origin/feature-2 hyb139-159-150-152:~/git_teaching$ git branch -a dev feature-1 feature-2 * master remotes/origin/HEAD - origin/master remotes/origin/master 这样就删除了那些远程仓库不存在的分支。 remotes/origin/dev remotes/origin/feature-1 remotes/origin/feature-2 对于本地仓库的删除之前的课程已经学过了大家可以自行从操作。 总结
http://www.hkea.cn/news/14569691/

相关文章:

  • 长春网站制作工具数据可视化网站
  • seo是指通过广州市口碑seo推广外包
  • 公司网站主页怎么做网站商城开发公司
  • 网站为契机建设校园数字化浏览器打不开wordpress
  • 台州做网站电话广东省建设厅网站查询
  • 成都网站建制作国外那些视频网站做的不错
  • 网站整站下载网站 方案
  • 嘉兴南湖区优秀营销型网站建设南昌企业网站排名优化
  • 网站建设的行业客户合肥建设局网站
  • 科技类公司网站怎么设计青岛网上房地产网官网
  • vue做网站的优缺点新建网站怎么保存
  • 机械设备 东莞网站建设发烧病例单子图片在线制作
  • 湛江企业自助建站系统百度惠生活小程序
  • 网站建设哪里最好接单子建站流程
  • 网站正在建设中的代码注册个人订阅号
  • 网站建设58关于静态网站开发相关新闻
  • 建设项目查询网站深圳市官网网站建设
  • 模拟网站开发wordpress收费资源下载
  • 网站开速度几秒国家开发投资集团有限公司
  • 湖南营销型网站建设磐石网络关于网站建设要花多少钱
  • 在自己电脑建设网站全网热搜关键词排行榜
  • 网站底部版权代码网站部署环境
  • 浙江均泰建设有限公司网站建筑工程网正保
  • 西安 做网站 499线上设计师接单
  • 初学者学做网站用什么软件湖南建设银行网站
  • 直播教育网站建设做游戏网站多少钱
  • 广告设计网站官网焦作做网站最专业的公司
  • 山东住房和城乡建设厅网站教育中心亿唐网不做网站做品牌案例分析
  • 网站排名软件优化北京建设网站有哪些公司
  • 去哪里找做网站的seo百度点击软件