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

网站建设怎么外包好旅行社网站开发 论文

网站建设怎么外包好,旅行社网站开发 论文,义乌网站,wordpress网站迁移问题目录 Git1、开始版本控制1.1、初始化Repository1.2、使目录脱离Git控制 2、把文件交给Git管控2.1、创建文件后交给Git2.2、git add之后再次修改文件2.3、git add --all与.参数区别2.4、把暂存区的内容提交到存储库里存档 3、工作区、暂存区与存储库3.1… 目录 Git1、开始版本控制1.1、初始化Repository1.2、使目录脱离Git控制 2、把文件交给Git管控2.1、创建文件后交给Git2.2、git add之后再次修改文件2.3、git add --all与.参数区别2.4、把暂存区的内容提交到存储库里存档 3、工作区、暂存区与存储库3.1、二段式提交3.2、跳过add直接commit 4、查看Commit记录4.1、使用git log命令4.2、查询历史记录常用条件 5、删除或变更文件名5.1、删除文件1、直接删除2、使用Git命令删除3、使文件脱离Git控制 5.2、变更文件名1、直接改名2、使用Git命令改名 5.3、文件的名称不重要 6、修改Commit记录7、追加文件到最近一次的Commit8、新增目录9、有些文件不想放在Git中10、查看特定文件的Commit记录11、查看某行代码是谁写的12、意外删除文件或目录12.1、恢复被删除的文件或目录12.2、Git恢复文件的原理 13、拆掉Commit重做git reset13.1、拆掉重做13.2、Reset模式13.3、Reset实际意义 14、恢复使用hard模式Reset的Commit14.1、退回Reset前14.2、使用Reflog 15、HEAD15.1、HEAD简介15.2、切换分支的时候 16、只Commit一个文件的部分内容 Git 1、开始版本控制 1.1、初始化Repository 新建一个目录并使用git init命令初始化Repository mkdir mygit git initgit init命令会在mygit目录中创建一个.git目录。 1.2、使目录脱离Git控制 Git的版控很单纯全都是靠.git目录在做事。如果这个目录不想被版控或者只想给客户不含版控记录的内容只要把.git目录移除Git就对这个目录失去控制权了。 2、把文件交给Git管控 2.1、创建文件后交给Git 创建一个内容为hell, git的文件并命名为welcome.html echo hello, git welcome.html使用git status命令查看状态 这个welcome.html文件当前的状态是Untracked files即这个文件尚未被加到Git版控系统中还未正式被Git“追踪”只是刚刚加入这个目录而已。 使用git add命令把welcome.html文件交给Git让Git开始追踪它 git add welcome.html再次使用git status命令查看当前的状态 从以上信息可以看出文件状态已从Untracked变成new file。这表示该文件已经被安置到暂存区Staging Area。 2.2、git add之后再次修改文件 设想一下下面这样一种情境 新增了一个文件abc.txt。执行git add abc.txt命令把文件加至暂存区。编辑abc.txt文件。 echo hello world abc.txt git add abc.txt echo hw abc.txt完成编辑后可能想要进行Commit把刚刚改动的内容保存下来。这是新手很容易犯的错误之一以为执行Commit命令就能把所有的异动都保存下来事实上这样的想法是不正确的。执行git status命令看一下当前的状态 可以发现abc.txt文件变成了两个步骤2的确把abc.txt文件加入暂存区了但在步骤3中又编辑了该文件。对Git来说编辑的内容并没有“再次被加入暂存区所以此时暂存区中的数据还是步骤2中加进来的那个文件。 如果确定这个改动是你想要的那就再次使用git add abc.txt命令把abc.txt文件加入暂存区。 2.3、git add “–all与”.参数区别 Git 1.x 参数新增文件改动文件删除文件--all是是是.是是否 Git 2.x 参数新增文件改动文件删除文件--all是是是.是是是 也就是说在Git 2.x之后这两个参数在功能上就没什么区别了。 2.4、把暂存区的内容提交到存储库里存档 如果仅是通过git add命令把异动加到暂存区还不算是完成整个流程。如果想让暂存区的内容永久保存下来就要使用git commit命令。 git commit -m init commit在后面加上-m init commit是要说明“这次的Commit做了什么事”只要使用简单、清楚的文本说明即可中英文都可以重点是要说清楚能让自己和别人很快明白就行。 在执行git commit命令时如果没有在后面加上信息参数默认会弹出一个黑色的画面也就是编辑器——Vim。让我们输入提交信息 另外如果没有内容也可以Commit只要加上--allow-empty参数。 git commit --allow-empty -m empty commit3、工作区、暂存区与存储库 3.1、二段式提交 在Git中针对工作目录、暂存区以及存储库3个主要区域可以通过不同的Git命令把文件移往不同的区域如图所示 3.2、跳过add直接commit 如果觉得先add再commit有点烦琐可以在Commit时多加一个-a参数缩短这个流程 echo ccc c.txt git commit -a -m quick commit test.这样即使没有先add也可以完成Commit。但要注意的是这个-a参数只对已经存在于Repository区域的文件有效对新加入也就是Untracked files的文件是无效的。 4、查看Commit记录 4.1、使用git log命令 git log越新的信息会显示在越上面。从上面这段信息中大致可以看出以下内容: Commit的作者是谁什么时候Commit的每次的Commit大概做了些什么事 在使用git log命令时如果加上额外参数可以看到不一样的输出格式。例如加上--oneline和–-graph参数 git log --oneline --graph输出的结果就会更为精简可以一次性看到更多的Commit。 4.2、查询历史记录常用条件 想要找某个人或某些人的Commit # 使用 --author参数 git log --oneline --authorActonZhang# 使用 | 表示或者注意使用时需要加上\进行转义 git log --oneline --authorActonZhang\|Tom想要找Commit信息中是否包含有某些关键字 # 使用 --grep 参数 git log --oneline --grepsecond想要找Commit文件中的内容 # 使用 -S 参数 git log -S hw想要找某一段时间内的Commit # 使用 --since --until --after 参数 # 查询今天上午9点到下午11点之间的Commit git log --oneline --since9am --until11pm# 查询2017年1月之后每天上午9点到下午11点之间的Commit git log --oneline --since9am --until11pm --after2017-015、删除或变更文件名 在Git中无论是删除文件还是变更文件名对Git来说都是一种“改动”。 5.1、删除文件 1、直接删除 可以使用系统命令rm或资源管理器之类的工具来删除文件。例如 rm -rf welcome.html删除后查看状态 可以看到welcome.html文件当前的状态是deleted。如果确定这是你想做的就可以把这次的“改动”加到暂存区然后Commit即可 git add welcome.html git commit -m delete welcome.如果“把删除文件加到暂存区”让你觉得不好理解就把“删除文件”也当作一种“改动”就行了。 2、使用Git命令删除 可以先执行rm命令删除然后再执行git add命令加入暂存区的两段式动作也可以直接使用git rm命令来完成 git rm abc.txt 这时候查看状态会发现“它就直接在暂存区了不需要再add一次可以少做一个步骤 随后直接Commit即可 git commit -m delete abc.txt3、使文件脱离Git控制 不论是执行rm命令还是执行git rm命令都会真的把这个文件从工作目录中删除。如果不是真的想把这个文件删除只是不想让这个文件再被Git控制了可以加上-- cached参数 git rm b.txt --cached 查看状态b.txt的状态从原本已经在Git目录中的tracked变成Untracked了 随后直接Commit即可 git commit -m untrack b.txt5.2、变更文件名 1、直接改名 与删除文件一样变更文件名也是一种“改动”所以在操作上也是差不多的 mv a.txt aa.txt查看状态会看到两个状态的改变虽然只是更改文件名但对Git来说会被认为是两个动作一个是删除a.txt文件另一个是新增aa.txt文件变成Untracked状态。 git add aa.txt git commit -m rename a.txt to aa.txtgit rm a.txt git commit -m delete a.txt2、使用Git命令改名 git mv aa.txt aaa.txtgit commit -m rename aa.txt to aaa.txt5.3、文件的名称不重要 Git是根据文件的“内容”来计算SHA-1的值所以文件的名称不重要重要的是文件的内容。当更改文件名时Git并不会为此做出一个新的Blob对象而只是指向原来的那个Blob对象。但因为文件名变了所以Git会为此做出一个新的Tree对象。 6、修改Commit记录 要改动Commit记录有以下几种方式。 把.git目录整个删除不建议使用git rebase命令来改动历史记录先把Commit用git reset命令删除整理后再重新Commit使用--amend参数改动最后一次的Commit 这里采用第四种方式先提交一个空Commit记录 git commit --allow-empty -m WTF要改动最后一次的Commit信息只需直接在Commit命令后面加上--amend参数即可 git commit --amend --allow-empty -m heiheihei...虽然只是修改记录的信息其他什么都没有改但对Git来说因为Commit的内容改变了所以Git会重新计算并产生一个新的Commit对象这其实是一次全新的Commit只是看起来不像新的。例如上面这个例子中改动前的Commit对象的SHA-1值在改完信息之后变了。虽然Commit的时间与文件的内容看起来并没有被改动但它仍是一次全新的Commit。 7、追加文件到最近一次的Commit 可以采用下面这两种方式来完成 使用git reset命令把最后一次的Commit删除加入新文件后再重新Commit使用--amend参数进行Commit 此处采用第二种方式假设有一个Untracked的b.txt文件想把它加入到最近一次的Commit中 # 先加入暂存区 git add b.txt# 加入到最近一次Commit--no-edit参数表示不需要编辑Commit信息 git commit --amend --no-edit像这样改动历史记录的操作尽量不要应用在已经Push出去的Commit上。 8、新增目录 # 新建目录 mkdir images# 查看状态 git status发现Git的状态依旧没有变化因为Git在计算、产生对象时是根据“文件的内容”进行计算的所以只是新增一个目录的话Git是无法处理它的。 如果想要新增目录只要在空目录中随便放一个文件就行了。如果当前还没有文件可以放或者不知道该放什么文件通常可以放一个名为“.keep”或“.gitkeep”的空文件让Git能“感应”到这个目录的存在 touch images/.keep git status可以发现Git已经感知到这个目录的存在了其实是感应到里面那个.keep文件的存在接下来按照一般的流程进行add和commit即可。 git add . git commit -m add dir9、有些文件不想放在Git中 如果不想把文件放在Git中只需在项目目录中放一个.gitignore文件并且设置想要忽略的规则即可。如果这个文件不存在就手动新增它 touch .gitignore然后编辑这个文件的内容 # 忽略所有后缀是.yml的文件 *.yml只要.gitignore文件存在即使这个文件没有被Commit或Push上Git服务器也会有效果。但通常建议将这个文件Commit进项目并且push上Git服务器以便让一起开发项目的所有人可以共享相同的文件。 在新增文件时只要符合.gitignore文件中的规定这个文件就会被忽视。 touch secret.yml git statussecret.yml这个文件虽然确实存在这个目录中但Git已经“感应”不到它了即它被Git无视了。 虽然.gitignore文件列出了一些忽略的规则但其实这些忽略的规则也是可以被忽略的。只需在执行git add命令时加上-f参数 git add -f 文件名称如果想清除那些已经被忽略的文件可以使用git clean命令并配合-X参数 git clean -fX10、查看特定文件的Commit记录 git log可以查看整个项目的Commit记录但如果只想查看单一文件的记录可在git log后面接上那个文件名 git log b.txt这样就能看到这个文件Commit的历史记录。如果想查看这个文件每次的Commit做了什么改动可以再给它加上一个-p参数 git log -p b.txt11、查看某行代码是谁写的 可使用git blame命令找出来 git blame user.sql这样就可以很清楚地看出来哪一行代码是谁在什么时候写的而最前面看起来像乱码的文本正是每次Commit的识别代码表示这一行代码是在哪一次的Commit中加进来的。 如果文件太大也可以加上-L参数只显示指定行数的内容 git blame -L 10,15 user.sql12、意外删除文件或目录 12.1、恢复被删除的文件或目录 先删除user.sql文件 rm -rf user.sql查看状态 git status查看文件列表 ls -al如果要把user.sql挽救回来可以使用git checkout命令 git checkout user.sql# 如果要恢复多个文件可以使用. git checkout .查看状态 查看文件列表 这个技巧不仅可以将删除的文件挽救回来当改动某个文件后反悔了也可以用它把文件恢复到上一次Commit的状态。 不是所有情况下都能恢复被删除的文件的。因为整个Git的记录都是放在根目录下的.git目录中如果这个目录被删除了也就意味着历史记录也被删除了那么删除的文件也就不能恢复了。 12.2、Git恢复文件的原理 当使用git checkout命令时Git会切换到指定的分支但如果后面接的是文件名或路径Git则不会切换分支而是把文件从.git目录中复制一份到当前的工作目录。 更精准地说这个命令会把暂存区Staging Area中的内容或文件拿来覆盖工作目录中Working Directory的内容或文件。因此在上面执行git checkout user.sql或git checkout .命令时会把user.sql文件或者当前目录下的所有文件恢复到上一次Commit的状态。 如果在执行这个命令时多加了一个参数 git checkout HEAD~2 user.sql那么距离现在两个版本以上的那个user.sql文件就会被用来覆盖当前工作目录中的user.sql文件但要注意这同时也会更新暂存区的状态。 git checkout HEAD~2 .这个命令的意思就是“用距离现在两个版本以上的文件来覆盖当前工作目录中的文件同时更新暂存区中的状态”。 13、拆掉Commit重做git reset 13.1、拆掉重做 先查看当前的Git记录 git log --oneline如果想拆掉最后一次的Commit可以采用“相对”或“绝对”的做法。 “相对”的做法是这样的 git reset 7d66c8c^ # 最后的那个“^”符号代表的是“前一次”所以7d66c8c^是指7d66c8c这个Commit的前一次 # 如果是7d66c8c^^则是往前两次……以此类推。 # 不过如果要倒退5次通常不会写作7d66c8c^^^^^而是写成7d66c8c~5”因为刚好HEAD与master当前都是指向7d66c8c这个Commit而且7d66c8c不太好记所以上面这行通常会改写成 git reset master^ # 或 git reset HEAD^以这个例子来说这两个命令会得到一样的结果。 绝对的方式如下 如果很清楚要把当前的状态退回到哪个Commit可以直接指明 git reset dbca90c它就会切换到dbca90c这个Commit的状态因为dbca90c刚好就是7d66c8c的前一次Commit。以这个例子来说也会达到与“拆掉最后一次的Commit”一样的效果。 13.2、Reset模式 git reset命令可以搭配参数使用。常用参数有3个分别是--mixed、--soft以及--hard。搭配不同的参数执行结果会有些微差别 mixed模式--mixed是默认的参数如果没有另外加参数git reset命令将使用--mixed模式。该模式会把暂存区的文件删除但不会影响工作目录的文件。也就是说Commit拆出来的文件会留在工作目录但不会留在暂存区。soft模式这种模式下的Reset其工作目录与暂存区的文件都不会被删除所以看起来就只有HEAD的移动而已。因此Commit拆出来的文件会直接放在暂存区。hard模式在这种模式下无论是工作目录还是暂存区的文件都会被删除。 模式工作目录暂存区mixed不变被删除soft不变不变hard被删除被删除 如果上面的说明让你不容易想象到底发生了什么事那么只要记住这些不同的模式就能决定“Commit拆出来的那些文件何去何从 模式Commit拆出来的文件mixed放回工作目录soft放回暂存区hard直接删除 13.3、Reset实际意义 Reset通常翻译为“重新设置”但在Git中将Reset解释为“前往”或“变成”更为贴切即go to或become的意思。当执行以下命令时 git reset HEAD~2该命令可能会被解读成“请帮我拆掉最后两次的Commit”但其实用“拆”这个动词只是为了便于理解而已事实上并没有真的把Commit“拆掉”放心所有的Commit都还在。 准确地说上面这个命令应该解读成“我要前往两个Commit之前的状态”或“我要变成两个Commit之前的状态”而随着使用不同的参数模式原本的这些文件就会移去不同的区域。 因为实际上git reset命令也并不是真的删除或重新设置Commit只是“前往”到指定的Commit。那些看起来好像不见的东西只是暂时看不到了但随时都可以再救回来。 14、恢复使用hard模式Reset的Commit 14.1、退回Reset前 查看Commit记录 git log --oneline首先要树立一个观念不管用什么模式进行ResetCommit就是Commit并不会因为Reset就马上消失。假设先用默认模式的git reset命令倒退一步 git reset HEAD~1这时Commit看起来就会少一个同时拆出来的文件会被放置在工作目录中 如果想要退回刚刚Reset的这个步骤只要Reset回一开始那个Commit的SHA-1 7d66c8c即可 git reset 7d66c8c --hard刚刚看起来拆掉的Commit就又回来了。这里使用了--hard参数可以强迫放弃Reset之后改动的文件。 14.2、使用Reflog 如果一开始没有记录Commit的SHA-1值也没关系可以利用Git中的Reflog命令保留一些记录。再次借用上一个例子但这次改用--hard模式进行Reset git reset HEAD~1 --hard 查看状态 查看文件列表 查看Commit记录 可以发现不仅Commit不见了文件也消失了。 接着可以使用Reflog命令来看一下记录 git reflog 当HEAD移动时如切换分支或者Reset都会造成HEAD移动Git就会在Reflog中留下一条记录。 所以如果想要取消这次的Reset就可以“Reset到它Reset前的那个Commit”很像绕口令。在这个例子中就是7d66c8c所以只要这样 git reset 7d66c8c --hard就可以把刚刚hard reset的东西再次救回来了。 git log命令如果加上-g参数也可以进行Reflog。 15、HEAD 15.1、HEAD简介 HEAD是一个指标指向某一个分支通常可以把它当作“当前所在分支”来看待。在.git目录中有一个名为HEAD的文件其中记录的就是HEAD的内容。来看一下它到底长什么样 cat .git/HEAD从这个文件可以看出HEAD当前正指向master分支。如果有兴趣再深入看一下refs/heads/master的内容就会发现其实所谓的master分支也不过就是一个40个字节的文件罢了 cat .git/refs/heads/master15.2、切换分支的时候 假设当前项目包括3个分支而当前正在master分支上 $ git branch cat dog * master接下来试着切换到cat分支 $ git checkout cat Switched to branch cat这时看一下刚刚那个HEAD文件的内容 $ cat .git/HEAD ref: refs/heads/catHEAD的内容变成refs/heads/cat了。再试着切换到dog分支 $ git checkout dog Switched to branch cat再确认一下HEAD的内容 $ cat .git/HEAD ref: refs/heads/dog它又改成指向dog分支了。也就是说HEAD通常会指向当前所在的分支。不过HEAD也不一定总是指向某个分支当HEAD没有指向某个分支时便会造成detached HEAD的状态。 在切换分支的同时HEAD的内容会改变当HEAD的内容改变的时候Reflog也会留下记录。 16、只Commit一个文件的部分内容 假设index.html文件如下 !DOCTYPE html html headmeta charsetutf-8title首页/title /head bodydiv classcontainerh1 idheading头版消息/h1div内文 内文 内文 内文/divdiv idfooter没有版权随意使用/div/div /body /html我们修改一下 !DOCTYPE html html headmeta charsetutf-8title首页1/title /head bodydiv classcontainerh1 idheading头版消息1/h1div内文 内文 内文 内文1/divdiv idfooter没有版权随意使用1/div/div /body /html如果因为某些原因不想Commit footer区域在Git中也可以先Commit其他的部分 git add -p index.html当使用git add命令时如果加上-p参数Git就会询问是否要把这个区域hunk加到暂存区 y - 暂存此区块 n - 不暂存此区块 q - 退出不暂存包括此块在内的剩余的区块 a - 暂存此块与此文件后面所有的区块 d - 不暂存此块与此文件后面所有的区块 g - 选择并跳转至一个区块 / - 搜索与给定正则表达示匹配的区块 j - 暂不决定转至下一个未决定的区块 J - 暂不决定转至一个区块 k - 暂不决定转至上一个未决定的区块 K - 暂不决定转至上一个区块 s - 将当前的区块分割成多个较小的区块 e - 手动编辑当前的区块 ? - 输出帮助选择e就会出现编辑器显示以下内容 在这里就可以编辑想要加到暂存区的区域。因为不想把footer区域加进去所以就把那1行删掉存档并离开即可“把部分内容加到暂存区”。看一下当前的状态 可以看出index.html文件有部分在暂存区同时也有一份包括那1行的版本在工作目录。这样就可以先Commit部分内容了。
http://www.tj-hxxt.cn/news/143391.html

相关文章:

  • 建设网站卡盟wordpress 导出export.php
  • 软件网站下载查看域名备案信息
  • 网站名词排名怎么做3000块钱在朋友圈投放广告
  • 深圳网站设计兴田德润i优惠吗网站开发兼容
  • 龙之向导外贸经理人网站深圳电商公司排行榜
  • 佛山市网站建设福州产品网页制作的公司
  • 惠州网站建设制作公司南昌网站搭建
  • 套用模板网站网站做信用认证有必要吗
  • 网站建设怎么引流网站策划方法
  • 十堰网站建设是什么wordpress构架都是模板
  • 网站建设注册密码咋弄衡水建站公司
  • 沈阳做网站好的百度如何给网站做评价
  • 网站转微信小程序开发qq浏览器小程序
  • 17一起做网站普宁站郑州做网站推
  • 南京专业网站制作公司有哪些seo优化有哪些
  • 网站建设-丹东新手如何做代理商
  • 福州微信营销网站建设怎么编程一个网站
  • 福永论坛网站建设一键网站建设
  • 装修网站设计平台手机端网站开发建设内容
  • 快站淘客如何提高搜索引擎优化
  • 哪些网站是做快消品的十大微信小程序游戏
  • 网站建设提供书面资料清单在线海报生成
  • 漳州网站建设多少钱大数据营销的弊端
  • 东莞网站建设服务首网站建设前提
  • 网站建设制作的标准有哪些网站建立的重要性
  • 十大品牌网站织梦建站教程
  • 石家庄小学网站建设北京市工程建设交易网
  • 江苏恒健建设集团有限公司网站天河网站建设专家
  • 济南建公司网站免费推广产品的网站
  • 浦口区网站建设wordpress主题丢失