git使用教程
2024-01-02 21:40:15
    		1.Git介绍
 
 Git 
 是目前世界上最先进的 
 分布式 
 版本控制系统,有这么几个特点: 
 
   1. 
  分布式  
  :是用来保存工程源代码历史状态的命令行工具 
 
 
  
 
   2. 
  保存点  
  :保存点可以追溯源码中的文件,并能得到某个时间点上的整个工程项目额状态;可以在该 
  保存点将多人提交的源码合并,也可以退到某一个保存点上; 
 
 
  
 3.离线操作性 :Git可以离线进行代码提交
 
   4.基于快照  
   : 
   Git 
   提交是将提交点指向提交时的项目快照,提交的东西包含一些元数据 
   ( 
   作者 
   , 
   日期,  
  
 
   
   GPG 
   等 
   );SVN 
   等老式版本控制工具是将提交点保存成补丁文件  
  
 
   
   
   5.Git 
   的分支和合并  
   :分支模型是 
   Git 
   最显著的特点 
   , 
   因为这改变了开发者的开发模式, 
   SVN 
   等版本控制 工具将每个分支都要放在不同的目录中,Git 
   可以在同一个目录中切换不同的分支 
   ;  
  
 
   
   
   6.分支即时性 
   :创建和切换分支几乎是同时进行的 
   , 
   用户可以上传一部分分支 
   ,  
   另外一部分分支可以隐 藏在本地,不必将所有的分支都上传到GitHub 
   中去 
   ;  
  
 
   
   
   7.分支灵活性 
   :用户可以随时创建合并删除分支 
   , 
   多人实现不同的功能,可以创建多个分支进行开发 
   , 之后进行分支合并,这种方式使开发变得快速, 
   简单 
   , 
   安全。  
  
 
   
  工作流程
 
   一般工作流程如下:  
  
 
   
   ? ? ? ?1.克隆 Git  
   资源作为工作目录。  
  
 
   
   ? ? ? ?2.在克隆的资源上添加或修改文件。  
  
 
   
   ? ? ? ?3.如果其他人修改了,你可以更新资源。  
  
 
   
   ? ? ? ?4.在提交前查看修改。 提交修改。  
  
 
   
   ? ? ? ?5.在修改完成后,如果发现错误,可以撤回提交并再次修改并提交 
  
 
   
   
    下图展示了 
     Git  
    的工作流程: 
   
 
    
  ?
基本概念?
 
 我们先来理解下 
  Git  
 工作区、暂存区和版本库概念:  
 
 
 ?1.工作区 
 :就是你在电脑里能看到的目录。  
 
 
 ?2.暂存区 
 :英文叫 
  stage  
 或 
  index 
 。一般存放在 
  .git  
 目录下的 
  index  
 文件( 
 .git/index 
 )中,所以我? ? ? 们把暂存区有时也叫作索引(index 
 )。  
 
 
 ?3.版本库 
 :工作区有一个隐藏目录 
  .git 
 ,这个不算工作区,而是 
  Git  
 的版本库。 
 
 
 
  下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:  
 
 
  
 
  
 1.图中左侧为工作区,右侧为版本库。在版本库中标记为 
  "index"  
 的区域是暂存区  
 
 
 ( 
 stage/index 
 ),标记为 
  "master"  
 的是 
  master  
 分支所代表的目录树。 
 
 
 
 2.图中我们可以看出此时 
  "HEAD"  
 实际是指向 
  master  
 分支的一个 
 " 
 游标 
 " 
 。所以图示的命令中出现  
 
 
 HEAD  
 的地方可以用 
  master  
 来替换。  
 
 
 
 3.图中的 
  objects  
 标识的区域为 
  Git  
 的对象库,实际位于 
  ".git/objects"  
 目录下,里面包含了创建的各种对象及内容。 
 
 
 
 4.当对工作区修改(或新增)的文件执行 
  git add  
 命令时,暂存区的目录树被更新,同时工作区修改或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID 
 被记录在暂存区的文件  
 
 
 索引中。  
 
 
 
 5.当执行提交操作( 
 git commit 
 )时,暂存区的目录树写到版本库(对象库)中, 
 master  
 分支会做  
 
 
 相应的更新。即 
  master  
 指向的目录树就是提交时暂存区的目录树。  
 
 
 
 6.当执行 
  git reset HEAD  
 命令时,暂存区的目录树会被重写,被 
  master  
 分支指向的目录树所替换,但是工作区不受影响。  
 
 
 
 7.当执行 
  git rm --cached  
 命令时,会直接从暂存区删除文件,工作区则不做出改变。  
 
 
 
 8.当执行 
  git checkout .  
 或者 
  git checkout --  
 命令时,会用暂存区全部或指定的文件替换工作区的文  
 
 
 件。这个操作很危险,会清除工作区中未添加到暂存区中的改动。  
 
 
 
 9.当执行 
  git checkout HEAD .  
 或者 
  git checkout HEAD  
 命令时,会用 
  HEAD  
 指向的 
  master  
 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。  
 
?
基础常见命令
创建仓库
git init初始化仓库
git clone拷贝一份远程仓库,也就是下载一个项目。
提交与修改 ?
git add添加文件到仓库
git status查看仓库当前的状态,显示有变更的文件。
git diff比较文件的不同,即暂存区和工作区的差异。
git commit提交暂存区到本地仓库。
git reset回退版本。
git rm删除工作区文件。
git mv移动或重命名工作区文件。
提交日志 ?
git log查看历史提交记录
git blame以列表形式查看指定文件的历史修改记录
远程操作 ?
git remote远程仓库操作
git fetch从远程获取代码库
git pull下载远程代码并合并
git push上传远程代码并合并
创建版本库
 
 1.  
 新建文件夹,用于放置开发文件  
 
 
 2.  
 通过  
 git init  
 命令把这个目录变成 
 Git 
 可以管理的仓库: 
 
$ git init 
  此步之后目录下会出现一个  
  .git  
  的目录,这个目录是 
  Git 
  来跟踪管理版本库的,这个目录是默认隐藏的,但是不要去动这个文件夹的东西,不然会破坏Git 
  仓库。  
 
 
  
?3. 使用 git add 将文件添加到Git仓库:
$ git add readme.txt4. 用命令 git commit 把文件提交到仓库:
$ git commit -m "1.0.0" 
 - 
 m  
 后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录  
 
 
 到此为止,你成功的在本地仓库维护了一个版本  
 
 
关联远程仓库
 
 推送  
 
 
 1.  
 在 
 GitHub 
 或者 
 Gitee 
 等平台注册并新建仓库  
 
 
 2.  
 关联远程仓库 
 
$ git remote add origin 仓库地址 
  添加后,远程库的名字就是  
  origin  
  ,这是 
  Git 
  默认的叫法,也可以改成别的  
 
 
  
  
   3.  
   第一次推送本地库内容到远程库 
   
 
 $ git push -u origin master 
    把本地库的内容推送到远程,用  
    git push  
    命令,实际上是把当前分支  
    master  
    推送到远程。  
   
 
    
    由于远程库是空的,我们第一次推送  
    master  
    分支时,加上了  
    - 
    u  
    参数, 
    Git 
    不但会把本地的  
    master  
    分支内容推送的远程新的 master  
    分支,还会把本地的  
    master  
    分支和远程的  
    master  
    分支关联起来,在以后的推送或者拉取时就可以简化命令 
   
 
    
    
    4.  
    后续修改提交 
    , 
    就不用添加  
    - 
    u 
     
      
       
        
         
          
           
         
        
       
      
     
   
 
  $ git push origin master 
     删除远程仓库  
    
 
     
      如果添加的时候地址写错了,或者就是想删除远程库,可以用  
      git remote rm <name>  
      命令。使用前,建议先用 git remote  
      - 
      v  
      查看远程库信息: 
     
 
     $ git remote -v 
       然后,根据名字删除,比如删除  
       origin  
       : 
      
 
      $ git remote rm origin 
        此处的 
        “ 
        删除 
        ” 
        其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub 
        ,在后台页面找到删除按钮再删除。  
       
 
        
        
         从远程仓库克隆 
        
 
         
          实际工作中很多时候是从远程仓库克隆  
         
 
          
          用命令  
          git clone  
          克隆一个本地库: 
         
 
         $ git clone 克隆地址
    			文章来源:https://blog.csdn.net/m0_74265396/article/details/135349739
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
    	本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!