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

订房网站开发域名建网站公司

订房网站开发,域名建网站公司,小说网站开发中遇到的问题,重庆招聘网官网目录 GitGitHub1、将内容Push到GitHub上1.1、在GitHub上创建新项目1.2、upstream1.3、如果不想要相同的分支名称 2、Pull下载更新2.1、Fetch指令2.2、Fetch原理2.3、Pull指令2.4、PullRebase 3、为什么有时候推不上去3.1、问题复现3.2、解决方案一#xff1a;先拉再推3.3… 目录 GitGitHub1、将内容Push到GitHub上1.1、在GitHub上创建新项目1.2、upstream1.3、如果不想要相同的分支名称 2、Pull下载更新2.1、Fetch指令2.2、Fetch原理2.3、Pull指令2.4、PullRebase 3、为什么有时候推不上去3.1、问题复现3.2、解决方案一先拉再推3.3、解决方案二强制推送 4、Clone指令4.1、Clone Repository4.2、Clone与Pull指令的区别 5、与其他开发者互动Pull Request5.1、Fork示例5.2、应用情景5.3、“怎样跟上当初fork的项目的进度”1、砍掉重练2、跟上游同步 6、删除远端的分支6.1、GitHub线上删除6.2、命令行删除 7、git push -f的使用场景7.1、整理历史记录7.2、只用在自己身上。 8、使用GitHub免费制作个人网站8.1、示例8.2、客制化网址 9、更新文件Patch9.1、制作更新文件9.2、使用更新文件 GitGitHub 1、将内容Push到GitHub上 1.1、在GitHub上创建新项目 要上传文件到GitHub需要先在上面创建一个新的项目。首先在GitHub网站的右上角单击按钮在弹出的下拉列表中选择New repository选项 接着填写项目名称 Repository name可任意填写只要不重复即可可填写仓库描述存取权限选中Public单选按钮可免费使用选中Private则需交费$7/月可选是否添加readme文件可选根据语言的.gitignore忽略文件可选开源协议 单击Create repository按钮即可新增一个Repository。接下来会看到引导画面 这里有以下两点需要说明 如果是新项目按照create a new repository on the command line的提示进行操作如果是要上传现存项目则按照push an existing repository from the command line的提示进行操作。在图的中间有两个按钮可供切换分别是HTTPS按钮和SSH按钮可根据个人需要进行选择。如果单击SSH按钮需要设置SSH Key关于SSH Key的设置可参考后续的介绍。因为这里已经设置好SSH Key了所以只需单击“SSH”按钮。 如果仔细观察就会发现选择全新开始与上传现有项目的最后两个步骤是一样的。 假设现在什么都没有要重新开始一个项目找一个空的目录然后照着提示进行操作即可。首先创建一个README.md文件 mkdir demo cd demo echo # git push demo README.md接下来就是我们熟悉的Git了用git init指令针对目录进行Git初始化 git init git add . git commit -m first commit接下来就要准备把内容推上远端的Git服务器上了。首先需要设置一个远端节点。例如 git remote add origin gitgithub.com:ActonZhang1024/demo.git这里有以下三点需要说明 git remote指令主要进行与远端有关的操作。add指令是指要加入一个远端的节点。这里的origin是一个代名词指的是后面那串GitHub服务器的位置。 按照惯例远端的节点默认使用origin这个名称。如果是从服务器上Clone下来的其默认名称就是origin。但这只是惯例不用该名称或之后想要更改都可以。例如更改为七龙珠dragonballgit remote add dragonball gitgithub.com:ActonZhang1024/demo.git 设置好远端节点后接下来就是把内容推上去 git push -u origin master这个简单的Push指令其实做了以下几件事 把master分支的内容推向origin位置。在origin远端服务器上如果master不存在就创建一个名为master的分支。如果服务器上存在master分支就会移动服务器上master分支的位置使它指到当前最新的进度上。设置upstream就是-u参数做的事情这个稍后说明。 如果理解了上面指令的意思就可以再做一些变化。例如远端节点为dragonball想把cat分支推上去可以使用如下命令 git push dragonball cat这样就会把cat分支推上dragonball这个远端节点所代表的位置并且在上面创建一个名为cat的同名分支或更新进度。 返回GitHub网站刷新一下页面刚才那个引导指令的画面变成了如下 该画面表示已经顺利地把本地项目的内容推到这个远端的项目中了。 1.2、upstream upstream翻译成中文就是“上游”。看起来很难理解但其实就是另一个分支的名称而已。 在Git中每个分支可以设置一个上游但每个分支最多只能设置一个上游它会指向并追踪track某个分支。通常upstream会是远端服务器上的某个分支但要设置在本地端的其他分支也可以。 如果设置了upstream当下次执行git push指令时就会用它来当默认值。例如 git push -u origin master就会把origin/master设置为本地master分支的upstream当下次执行git push指令而不加任何参数时Git就会猜出是要推往origin远端节点并且把master分支推上去。 反之如果没有设置upstream则必须在每次Push时都跟Git讲清楚、说明白 git push origin master否则只是执行git push指令而不带其他参数Git就会不知道该Push什么分支以及要Push到哪里 $ git push fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin master1.3、如果不想要相同的分支名称 前面提到Push的指令为 git push origin master其实上面这个指令与下面这个指令是一样的效果 git push origin master:master意思是把本地的master分支推上去后在服务器上更新master分支的进度如果不存在该分支就创建一个master分支。但如果推上去之后想更改名称可以把后面的名称改掉 git push origin master:cat这样把本地的master分支推上去之后就不会在线创建master分支了而是创建一个名为cat的分支或更新进度。 2、Pull下载更新 与Push指令相反Pull指令是拉回本机更新。但在介绍Pull指令之前需要先介绍一下Fetch指令。 2.1、Fetch指令 接着上一节那个GitHub的示例试着执行下面这个指令 git fetch你会发现没有任何信息那是因为现在的进度与在线版本是一样的因为只有自己一个人在做。为了营造有不同进度的效果可以到GitHub网站上直接编辑某个文件。例如选中README.md文件单击右上角出现的Edit this file按钮 单击下方的Commit changes按钮即可进行存档并新增一次Commit。这样一来在线版本的Commit数就领先本机一次了。再次执行Fetch指令 git fetch可以看到有内容被拉回来了。此时查看一下状态 2.2、Fetch原理 图所示为Fetch之前的状态HEAD和master分支都不出意外地乖乖待在它们该在的位置。 因为当前项目之前曾推送内容到服务器上所以远端分支也会记录一份在本机上同样也是有HEAD和master分支但会在前面加注远端节点origin变成origin/ HEAD和origin/master。 因为在第一次推送时使用了-u参数设置upstream所以当前这个origin/master分支其实就是本地master分支的upstream。 接下来执行Fetch指令。Git看过在线版本的内容后会把当前线上有但本地没有的内容抓即复制一份下来同时移动origin相关的分支 先不管origin/master这个分支名称是否有点奇怪也不管它是本地分支还是远端分支对Git来说它就是一个从master分支分出去的分支而已。 既然这个分支是从master分支分出去的而且进度比master分支还要新那么如果master分支想要跟上它该怎么做呢这个情境对大家来说是不是有点熟悉没错接下来要做的就是合并Merge git merge origin/master因为origin/master分支和master分支本是“同根生”所以可以看到上面合并的过程是使用快转模式Fast Forward进行的。 2.3、Pull指令 如果能理解Fetch指令在做什么那么Pull指令就好理解了因为 git pull git fetch git mergePull指令其实就是去线上将内容抓下来Fetch并且更新本机的进度Merge。 再次在线上浏览器修改README.md 使用git pull git pull注意本次merge还是使用了快转模式Fast Forward如果不希望使用快转模式可以使用–no-ff参数即 git pull --no-ff 2.4、PullRebase 在执行git pull指令时也可以加上-- rebase参数它在Fetch完成之后就会使用Rebase方式进行合并 git pull --rebase在多人共同开发时大家都在自己的分支进行Commit所以拉回来用一般的方式合并时常会出现为了合并而生成额外的Commit的情况。为了合并而生成的Commit本身并没有什么问题但如果不想要这个额外的Commit可考虑使用Rebase方式进行合并。 3、为什么有时候推不上去 在执行Push指令时偶尔会出现错误信息 $ git push To https://github.com/eddiekao/dummy-git.git ! [rejected] master - master (fetch first) error: failed to push some refs to https://github.com/eddiekao/dummy-git.git hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., git pull ...) before pushing again. hint: See the Note about fast-forwards in git push --help for details.这段信息的意思是“在线版本的内容比本地计算机中的内容还要新所以Git不让推上去”。 3.1、问题复现 通常这种状况会发生在多人一起开发的时候其情境如图所示。 Sherly和Eddie在差不多的时间都从Git服务器上拉了一份文档下来准备进行开发。Sherly手脚比较快先完成了于是把做好的成果推了一份上去。Eddie不久后也完成了但当他要推上去的时候发现推不上去了…… 再次在线上浏览器修改README.md内容 修改本地的README.md 保存到暂存区并提交 git add . git commit -m local update尝试推送问题复现 git push3.2、解决方案一先拉再推 因为本地计算机中的内容是比较旧的所以应该先拉一份在线版本的内容回来更新然后再推一次 git pull解决冲突问题 然后再提交并推送 git add . git commit -m fixed conflicts git push3.3、解决方案二强制推送 只要加上了--force或-f参数它就会强制推上去把之前的内容覆盖 git push -f4、Clone指令 4.1、Clone Repository 按照前面的介绍进行推Push、拉Pull时有一个前提就是已经有这个项目了。 如果在GitHub上看到某个项目很有趣想要下载后查看只要使用Clone指令就可以把整个项目复制一份下来。 同样可以选择HTTPS或SSH这里选择SSH。连接之后便可使用Clone指令把它复制下来 git clone gitgithub.com:ActonZhang1024/demo.git这个指令会把整个项目复制一份并存储在同名的目录中。如果想要复制下来之后存储到不同名称的目录中只要在后面加上目录名称即可 git clone gitgithub.com:ActonZhang1024/demo.git other_dir_nameClone指令会把整个项目的内容复制一份到本地计算机中这里所说的内容不是只有文件还包括整个项目的历史记录、分支、标签等。 4.2、Clone与Pull指令的区别 这两个指令的应用场景是不同的 如果这个项目你是第一次看到想要下载到自己的计算机中应使用Clone指令如果已经下载了只是想更新为最新的在线版内容则使用Pull或Fetch指令。 简单地说Clone指令通常只在第一次下载时使用而之后的更新就只能使用Pull/Fetch指令了。 5、与其他开发者互动Pull Request 在GitHub上有非常多的开源项目有些项目你很感兴趣也很想帮忙于是联系项目的原作者跟他说“我觉得你的项目很有趣开个权限给我吧我来帮你加一些功能”。想想看如果你是原作者有不认识的人让你开权限给他你愿意吗 在GitHub上有个有趣的机制 先复制Fork一份原作者的项目到自己的GitHub账号下。因为复制的项目已经在自己的GitHub账号下所以就有了完整的权限可以随意更改。改完后将自己账号下的项目推送Push上去。发个通知让原作者知道你帮忙做了一些事情请他看一下。原作者看完后如果觉得可以就会把你做的这些修改合并Merge到他的项目中。 其中步骤4中的那个“通知”就是发送一个请原作者拉回去Pull的请求Request称为PRPull Request。 5.1、Fork示例 准备工作 项目地址https://github.com/ActonZhang1024/demo 角色A项目的原作者https://github.com/ActonZhang1024 角色B想要帮忙的路人https://github.com/dellmessenger10第一步Fork项目 角色B登录项目网址可以看到页面右上角有3个按钮如图所示 单击Fork按钮进入图所示的页面 可以修改仓库名和描述信息点击按钮即可把原作者的项目复制一份到角色B的账号下。 现在这个项目的确已被放到角色B的账号下而且标注了Forked from“角色A”。这表明角色B对放在自己账号下的这个项目有完整的存取权限了。 第二步Clone回来修改 git clone https://github.com/dellmessenger10/demo.git为了方便操作我们不进行add、commit和push操作了直接在线上浏览器修改 第三步发PR给原作者 回到自己的项目页面单击New pull request按钮如图所示 在弹出的Comparing Changes页面中单击Create pull request按钮 在弹出的Open a pull request页面中输入PR的相关信息 此外在此还可以选择要将PR发送到原项目的哪个分支。设置完毕后单击Create pull request按钮即可完成PR的发送 第四步原作者收下PR 切换回角色A原作者即可在项目页面中看到Pull requests的数量增加了 打开新的PR可以看到其中都做了哪些修改 如果觉得可以接受单击Merge pull request按钮即可合并这次的Commit 最后查看合并后的结果 5.2、应用情景 除开源项目外企业内部的项目也适合使用发送PR的方式来开发。在开发产品时通常会挑选一个固定分支作为可以上线的正式版本分支一般使用master或production分支作为正式分支。当多人参与同一个项目时让每个人都可以Commit到项目正式上线的分支不是一种好的做法这时便可使用PR方式来进行。 每位开发者都先将公司的项目Fork一份到自己的账号下待功能完善后再发PR回公司的项目。负责管理这个项目的人收到PR后进行Code Review并确认无误后便可进行合并这样就可让这个产品分支处于随时可以上线的状态。 也许一开始会觉得这样很麻烦但随着协同开发的人越来越多就越需要制定规则。 5.3、“怎样跟上当初fork的项目的进度” 如果在发送PR前其他人抢先一步也发送了PR且原作者接受了那么该项目的进度就会领先于自己账号下的项目进度。如果要让自己账号下Fork过来的项目进度跟上原项目当前的进度应该怎么做对此GitHub网站上目前并没有提供相应的功能但你可以通过以下两种做法来达成这个目的。 1、砍掉重练 这招就是把Fork过来的项目删除再重新Fork一次这样保证会是最新版本。虽然这招技术含量不高但很好用完全不需要任何代码或指令就可以完成而且很多人都在使用。 2、跟上游同步 比较有技术含量的做法也是比较正统的做法就是把原作者的项目设置成上游项目Fetch回来后再手动合并。 “第一步设置原作者项目的远端节点 例如下面是Fork过来的项目 $ git remote -v origin https://github.com/eddiekao/dummy-git.git (fetch) origin https://github.com/eddiekao/dummy-git.git (push)使用git remote指令加上-v参数可以看到更完整的信息。可以看出当前这个项目只有一个远端节点origin。接下来帮它加上另一个远端节点这个远端节点指向的位置就是原作者的项目 $ git remote add dummy-kao https://github.com/kaochenlong/dummy-git.git其实大部分的教程都会教你使用upstream作为原项目远端节点的名称但为避免与默认的upstream混淆所以这里使用dummy- kao作为指向原项目的远端节点。这时在这个项目中就有两个远端节点一个是原来的origin一个是原项目的dummy-kao $ git remote –v dummy-kao https://github.com/kaochenlong/dummy-git.git (fetch) dummy-kao https://github.com/kaochenlong/dummy-git.git (push) origin https://github.com/eddiekao/dummy-git.git (fetch) origin https://github.com/eddiekao/dummy-git.git (push)第二步抓取原项目的内容 接下来使用Fetch指令取得原项目最新版本的内容 $ git fetch dummy-kao Fetch下来之后在本地的远端分支会往前移动吗如果想要跟上刚抓下来的进度就使用Merge指令使用Rebase也可以 git merge dummy-kao/master这样你本机的进度就与原项目的进度一样了。 第三步推回自己的项目 这个步骤要不要做就看你自己了毕竟在本地计算机上已经是最新版本了。如果你希望在GitHub上Fork的那个项目也更新到最新版只要推上去就行了 git push origin master 这样一来本地计算机中的项目以及在GitHub上从原项目Fork过来的项目就都是最新进度了。 6、删除远端的分支 6.1、GitHub线上删除 单击中间的branches分支标签可以看到当前所有的分支 单击某一分支右下角的图标即可删掉该分支。 6.2、命令行删除 如果是使用以下指令就把远端的分支删掉了 git push origin :cat是的就是在分支前面加上冒号而且是用Push指令来删除远端分支。 7、git push -f的使用场景 7.1、整理历史记录 有时项目Commit的历史记录太乱了想要“大刀阔斧”地整顿一下于是使用了Rebase指令关于如何使用Rebase指令可参阅第7章。因为Rebase等于是修改已经发生的事实所以正常来说是推不上去的。 这时就可使用Force Push指令来解决这个问题但使用前务必知会一下同一个项目的队友请他们到时候以你这份进度为主。 7.2、只用在自己身上。 我自己在工作的时候通常会开一个分支出去做但做完发现Commit太过琐碎便会使用Rebase指令整理一下这个分支。虽然Rebase指令是修改历史记录的但因为仅影响我自己这个分支所以并不会影响其他人正常使用 git push -f origin features/my_branch这样只会强制更新features/my_branch分支的内容不会影响其他分支。 8、使用GitHub免费制作个人网站 GitHub除了提供免费的Git服务器如果推上去的分支刚好叫作gh-pages也可以用GitHub当作静态文件的服务器。它比一般的虚拟主机要便宜得多也安全得多不过也有一些限制 仅呈现静态页面内容如果是用PHP或ASP编写的则不会响应。不支持.htaccess之类的配置文件所以无法设置用户密码。仅能使用Git上传没有FTP之类的东西。不像Repository有Private的设置所有的GitHub Pages都是公开的甚至Private项目中的页面也是公开的。 从整体上来说GitHub Pages的优点还是多于缺点至少它稳定、安全又免费。 8.1、示例 首先在GitHub上创建一个全新的项目 文本框中输入“username .github.io”其中username是指自己的GitHub账号。 接着找一个空的目录创建index.html内容如下 mkdir blog cd blog git init vim index.html!DOCTYPE html html head meta charsetutf-8 title 你好GitHub/title /head body h1 Hi! /h1 /body /html然后Push到Github git add . git commit -m first commit git remote add origin gitgithub.com:ActonZhang1024/ActonZhang1024.github.io.git git push -u origin master顺利推上去之后回到项目页面可以看到内容已经被推上去了 然后在仓库设置中设置发布源的分支 这时输入网址https://ActonZhang1024.github.io/即可连接页面 另外市面上也有一些比较好用的第三方套件如Jekyll、Octopress。可以利用这些套件以Markdown语法编写系统会帮你转成HTML格式或生成整个Blog甚至可以一行指令直接上传到GitHub Pages上。详情可参阅这些套件的官方网站 Jekyll: https://jekyllrb.com/Octopress: http://octopress.org/ 8.2、客制化网址 GitHub Pages支持客制化或称定制化网址。如果原来的网址不好记只需简单两步即可完成客制化 在该项目的根目录下创建一个名为CNAME的文件内容只需输入要客制化的那个网址。请管理网域的人帮你设置一组CNAME指到eddiekao.github.io.即可。 9、更新文件Patch 9.1、制作更新文件 下面介绍更新文件Patch的制作方法。假设当前的历史记录如下 接下来使用git format-patch指令生成几个更新文件 git format-patch ca64c49..ab86f4e后面的参数ca64c49…ab86f4e表示会生成从ca64c49这个Commit不包括本身到ab86f4e这个Commit的更新文件。 9.2、使用更新文件 要使用由format-patch指令生成的修正文件需使用git am指令 git am /demo/*可以一次使用一个更新文件或者像这样一口气把刚刚生成在/demo目录中的更新文件全部用上Git会根据文件的名称依序套在现有的项目上。
http://www.zqtcl.cn/news/237878/

相关文章:

  • 手机号注册网站cms影视源码采集
  • 网站建设网页设计培训班连云港seo优化
  • 成都网站建设公司招聘定制衣服
  • 做访问量高的网站如何建立公司网站推广
  • 做公司的网站有哪些简述企业网站建设的流程
  • 网站免费获取验证码怎么做软件开发的工作
  • 萌宝宝投票网站怎么做正规网站建设多少费用
  • 产权交易网站建设方案耐克网站建设的历程
  • 网站建设投入及费用wordpress 收录插件
  • 东莞网站制作个性化清溪网站仿做
  • 简单展示网站模板天津建设网站哪家好
  • 建个人网站赚钱多吗福建省住房和城乡建设厅网站首页
  • 网站建设课程设计实训心得seo关键词优化方案
  • 逸阳网站建设的目标郑州建设电商网站
  • 有了网址怎么做网站上海网站推广服务
  • 惠州网站seo排名优化esc怎么做网站
  • 咨询公司网站设计网站建设技能
  • 上海湖南网站建设新学校网站建设成果
  • 网站开发有哪些竞赛建站行业新闻
  • 满足seo需求的网站大型网站常见问题
  • 做网站要求高吗珠宝网站建设
  • 网站建设方案 预算高端制作网站哪家专业
  • 响应式网站什么意思长春做个人网站做不了
  • 手机网站排名优化软件网站登陆页面怎么做
  • 辽宁网站建设价格杭江建设有限公司
  • 成立公司在什么网站网络推广推广培训
  • 承德网站制作公司哪家好公司网络组建方案模板
  • 用wordpress 建网站网站关键词怎么改
  • 怎么做网站做站点创建站怎么上传网站怎么办
  • 十堰网站建设专家html做的旅游网站