Git基础入门知识培训_第1页
Git基础入门知识培训_第2页
Git基础入门知识培训_第3页
Git基础入门知识培训_第4页
Git基础入门知识培训_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Git基础入门知识培训

目录Git简介Git术语Git数据流Git常用命令Git技巧FAQGit简介

Git最初由LinusTorvalds编写,用于Linux内核开发的版本控制工具。Git与常用的版本控制工具

Subversion

不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。

Git主要特点便于管理

适合跨地域、协同开发、大团队。网络依赖性低add/commit/branch均可在本地;服务器压力更小元数据存储

保证数据的完整性、一致性,且本地.git中包含丰富版本控制信息git术语Repository、WorkingDirectoryPull/Push/Checkout/FetchBranchMergeConflictCommitRevertGit数据流示意图WorkdirectoreAIndexLocalrepositoryGitadd、rm/mvAAGitcommitRemotereposotoryAAGitcloneGitinitAGitpushGitstatusBBGitpullGitfetchCDEDGitmergeGit常用命令序号命令描述序号命令描述1gitadd添加至暂存区11gitfetch获取远程版本库的提交2gitbisect二分查找12gitlog显示提交日志3gitbranch分支管理13gitmerge分支合并4gitcheckout检出到工作区、切换或创建分支14gitmv重命名5gitcherry-pick提交拣选15gitpull拉回远程版本库的提交6gitclean清除工作区未跟踪文件16gitpush推送至远程版本库7gitclone克隆版本库17gitrebase分支变基8gitcommit提交18gitreset重置改变分支“游标”指向9gitstash保存和恢复进度19gitrevert反转提交10gitdiff差异比较20gitrm删除文件Git流示意图RemoteoriginIndexGitcloneWorkingDirectoryGitaddcommiitGitfetchGitpull(gitmerge)GitpushRepositorylocallocalDevresetGitrevertGit技巧之Pull与Fetch区别gitfetch:从remote获取最新版本到local。

gitpull:从remote获取最新版本到local,并将共同祖先后的差异进行merge,相当于gitfetch+

gitmerge在实际使用中,gitfetch更安全一些。因为在merge前,我们可以查看更新情况,然后再决定是否合并Git技巧之revert和resetReset

将当前的工作目录完全回滚到指定的版本号(可包含多个commit),不会留任何痕迹。Revert还原一个版本的修改,必须提供一个具体的Git版本号,例如'gitrevertbbaf6fb5060b4875b18ff9ff637ce118256d6f20'二者区别reset是指将当前head的内容重置,不会留任何痕迹。revert是撤销某次提交,但是这次撤销也会作为一次提交进行保存。附注:若已push到服务器使用gitrevert,若未push到服务器使用gitreset。ABCDEAEBDRevertGit技巧之工作区文件的状态Gitstatusnothingtocommit(工作区干净,处于master分支节点)GitstatusUntrackedfiles:工作区有新增文件,但未加入git跟踪。GitstatusChangestobecommitted:已经开始跟踪,但未提交至本地中心库FAQQ1:readme.txt文件用Gedit打开中文字符显示乱码,用BeyondCompare打开readme.txt文件中文字符还是显示乱码,这个可以怎么解决?A:主要的原因是字符集编码的差异,如在window提交,上传至linux。

解决方法-在window使用支持丰富字符编辑工具,如edit、notepad等Q2:soft,mix,hard三种reset方式的区别是?A:gitreset是指回退index区的变更。soft-

index和workingdirectory中的内容不作任何改变,仅仅把HEAD指向上一个commithard-重设(reset)index和workingdirectory,自从<commit>以来在workingdirectory中的任何改变都被丢弃,并把HEAD指向<commit>

mixed-

仅resetindex,但是不resetworkingdirectory。这个模式是默认模式,即当不显示告知gitreset模式时,会使用mixed模式。

附注:推荐使用soft方式,本地、index的会被保留。originFAQQ3:gitrebase如何操作?执行gutpull,提示无法更行,工作树不是最新。需要执行哪几部操作恢复更新?A:gitrebase

将远程commit和本地commit以及其祖先做了一次三方合并,并将HEAD指向local分支。

建议使用场景:分支合并,临时验证

gitpull后如何更新工作树

首先不建议使用gitpull代替fetch来获取最新代码。

若出现可使用如下方法解决

方法1gitreset回本地修改前的那次提交;gitpull;gitlog–porigin/mastermast

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论