Git入门培训

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Git入门培训Git简介Git安装Git基本原理Git基本命令Git冲突解决Git简介01由来基本介绍优缺点4由来1.1Git入门培训Git是LinusTorvalds为了帮助管理Linux内核的开发,于2005年开发的一个版本控制软件。5基本介绍1.2Git入门培训Git(读音为/gɪt/)是一个开源的、非常先进的、最流行的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。6优缺点1.3Git入门培训概念较多,有些不符合常规思维,有一定学习成本;代码保密性差,主要面向开源社区;如果有较多大文件,占用空间较多,性能有下降;安全性高;性能好,速度快;时刻保持数据完整性(SHA-1);大部分操作无需联网;远程服务器压力不会很大;部署容易;优点缺点Git安装02WindowsMacLinuxIDE(Eclipse、VSCode等)8Windows2.1Git入门培训在如下官网地址下载:入门培训XCode:在XCode中安装CommandLineToolsgit-osx-installer入门培训FedorayuminstallgitDebian/Ubuntusudoaptinstallgit也可以添加如下的PPA获取最新版:add-apt-repositoryppa:git-core/ppa11IDE2.4Git入门培训Eclipse:在EclipseMarketPlace中搜索egit:VSCode:已内置Git支持,也可以安装更强的GitLensGit基本原理0313层级3.1Git入门培训Git的存储分为4个层级:1.工作目录:直接可见的代码2.暂存区:可通过命令查看,位于.git/index;3.本地仓库:可通过命令查看,.git4.远程仓库:git中心服务器,比如GitHub;14快照3.2Git入门培训Git是一套内容寻址的文件系统,它存储的是key-value键值对。靠指针来寻址。Git不保存版本之间的差异,保存的是文件系统的快照,这是和CVS、SVN等传统集中式版本控制系统的主要差别。15对象3.3Git入门培训Git主要有三种对象:1.commit对象:记录了每次提交到本地仓库的文件快照;2.tree对象:记录了文件快照中各个目录和文件的结构关系;3.blob对象:记录了文件快照中发生变化的文件内容;16文件状态3.4Git入门培训文件有四种状态:1.未跟踪(untracked):新创建的文件。2.已修改(modified):修改后未暂存的文件。3.已暂存(staged):放入暂存区待提交的文件。4.已提交(committed):已成功保存到本地仓库的文件。17目录结构3.5Git入门培训项目特有的配置信息,分支、远程地址等钩子脚本样例,各个事件节点触发执行保存所有的Git对象当前分支的头部指针Git对象的指针18操作流程3.6Git入门培训基本米Git基本命令0416个基本命令20gitinit初始化命令4.1Git入门培训gitinit进入某目录,初始化一个空的git本地仓库。21gitclone克隆版本库命令4.2Git入门培训gitclonefile:///data/workspace/git-repo/./git-demo/克隆一个远程仓库到本地git-demo目录。22gitadd将内容添加暂存区命令4.3Git入门培训gitadda.txt将a.txt添加到暂存区gitadd.将修改和未跟踪文件添加到暂存区,不包括删除的文件gitadd-u.-u表示将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件gitadd-A.-A表示将所有的已跟踪的修改、删除文件、新增的未跟踪的文件都添加到暂存区。23gitcommit提交命令4.4Git入门培训gitcommit-m'修改a.txt'将暂存区里的改动给提交到本地的版本库,并生成40位的哈希值SHA-1。gitcommit-am'修改a.txt'将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库24gitlog日志查看命令4.5Git入门培训gitlog显示所有的日志。gitlog--oneline以一行的形式显示所有日志。gitlog-p显示文件的修改内容。gitlog--name-status附加列出变更的文件列表和修改状态。25gitstatus状态查看命令4.6Git入门培训gitstatus显示工作目录和暂存区的状态。26gitrevert撤销命令4.7Git入门培训gitrevertHEAD撤销前一次提交,将该提交反向修改提交一个新的版本,不影响历史。gitrevertHEAD^撤销前前一次提交。gitrevertSHA-1撤销指定的提交。27gitconfig配置参数命令4.8Git入门培训gitconfig--globaluser.nameliyujue配置系统当前用户的git用户名gitconfig--globalcredential.helperstore长期存储用户名和密码,不需每次都输入gitconfig--list列出当前的配置--system--global分别对应系统级配置/etc/gitconfig当前用户级配置~/.gitconfig不加参数对应项目级配置.git/config28gitreset重置命令4.9Git入门培训gitreset--soft重置HEAD到另外一个commit,工作区和暂存区不会变化gitreset--mixed默认,重置HEAD和暂存区到另外一个commit,工作区不会变化gitreset--hard重置HEAD、暂存区和工作区到另外一个commitgitresetHEAD~1撤销最新的commit,暂存区与HEAD一致,保留工作区内容29gitpull拉取合并命令4.10Git入门培训gitpull从远程仓库获取更新并进行合并(merge)。gitpulloriginmaster:master拉取origin远程主机的master分支到本地的master分支。相当于执行:gitfetchorigingitmergeorigin/next30gitpush推送命令4.11Git入门培训gitpush将本地更新推送到远程主机。gitpushoriginmaster:master推送本地master分支的更新内容到origin远程的master分支。31gitbranch分支处理命令4.12Git入门培训gitbranch列出当前分支清单,加-a:列出当前和远程分支gitbranchdev基于当前分支创建名为dev的分支gitbranch-ddev删除本地dev分支gitpushorigin--deletedev删除远程dev分支32gitmerge分支合并命令4.13Git入门培训gitmergedev将dev分支的变更合并到当前分支33gitcheckout检出命令4.14Git入门培训gitcheckoutdev切换到dev分支gitcheckout-bdev创建dev分支并且切换到dev分支gitcheckout-bdevSHA-1在当前的某个commit上创建dev分支并切换到dev分支34gitcherry-pick选择性合并命令4.15Git入门培训gitcherry-pickSHA-1获取某一分支的单笔提交,并作为一个新的提交引入到当前分支35gittag标签管理命令4.16Git入门培训gittag列出所有的标签gittagV1.0创建名为V1.0的轻量级标签。轻量级标签仅为特定对象的引用gittag-aV1.0创建名为V1.0的附注标签,附注标签为存储于Git中的完整对象gitpushorigin--tags推送所有标签到远程Git冲突解决0537Git冲突解决5.1Git入门培训出现冲突时点gitpull或者gitmerge出现冲突原因多人同时修改同一文件的相同内容区域冲突解决方法冲突区域通过===符号标记,等号前为本地修改,等号后为远程修改。修改后通过gitadd命令将修改后的文件添加到暂存区然后提交即可。谢谢

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功