git使用

本文详细介绍了Git分布式版本控制系统的特点及优势,并对比了传统的SVN集中式版本控制系统。讲解了Git的基本操作,包括仓库创建、文件添加、提交、差异对比、日志查看、SSH密钥配置等,还介绍了如何通过分支管理实现团队协作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:svn集中式版本控制  有一个中央服务器控制所有版本,其他所有的终端可以对这个中央仓库进行操作,中央仓库保证版本的唯一性
   缺点:中央服务器出现问题整个项目的版本控制就完蛋了,在使用过程中,终端无论提交修改还是获取更新都需要不断与服务器进行通信
         一旦网络出现问题,一切都不能继续 

      缺点:

      1:容灾性差

      2:通信频繁

 


2:git分布式版本控制,各个终端可以获取到中央服务器的完整信息,就好像做了一个完整的景象,这样我们可以在终端做各种操作而不需要与
   服务器进行通信,就算服务器出现问题,各个终端依然可以有完整备份,而且git操作全部发生在本地,只需要最终完成提交到服务器即可,
   不需要与服务器频繁通信。

     本地都存在服务端的完整镜像,并且我们在本地就可以提交代码,只需要最终完成以后提交到服务器即可。


   

    git的核心在于  区分好他的状态区  分支

    git安装好之后 常见操作:
     1:查看git的版本  git --version 
     2:查看git的所有的配置信息 git config --list
     3: 查看通用配置信息 git config --list --global
     4: 查看指定配置信息 git config user.name
     5: 配置参数  git config --global user.name xys  或者一次配置多个 git config --global --add user.email xxx.@  user.name xys
     6:git将所有的配置都保存为文件,git的配置文件就在git项目里面,我们可以看到.git隐藏文件夹  这里面的config文件就是我们的配置信息
     7:alias配置别名 git config --global alias.st status 将一些复杂的指令换为自己的别名 


git常见操作

1:创建git仓库
   1:先进入要创建为git仓库的目录下,执行git init命令  就会在该目录下生成一个.git隐藏文件夹
   2: git clone url  文件夹名称  在制定文件夹下面创建一个git仓库


2:git add添加文件
   git commit -m "注释  提交代码的注释" 
   追加修改  当提交一次之后  发现想在修改一个文件 这个时候不需要再生成新的提交,直接使用git commit -amend 指令即可
   直接执行git commit --amend -m "代码提交注释"
   

3:git diff  git status  
   git diff commitId就是比对当前文件和指定提交节点的文件得差异 
   commitId 就是一个40位的16进制的sha1值,用来表示唯一的一次commit 
   gitk查看提交代码的log日志信息


4:git  --help可以查看一些提示指令

5:创建sshkey 
     打开根目录.ssh 查看是否已经存在id_rsa私钥 用在验证自己的身份  idrsa.pub文件用在远程服务器端表明自己的身份
     如果没有这两个文件 可以通过命令生成这两个文件 
     ssh -keygen -t rsa -C "youremail@example.com"                                                                                              
     添加sshkey  将本地的idrsa.pub文件内容复制到key输入框即可。


6: 一般在本地创建代码  提交到远程仓库:执行 git remote add origin git@github.com:xuyisheng/testGit.git  
      origin就是远程仓库的名字 默认远程仓库就是origin  git push -u origin master 把修改代码推送到远程仓库 
      -u是将本地master分支和远程分支关联起来

7:git pull --rebase  当我们与他人协作的时候  在我们代码之前可能别人已经已经代码了   这个时候当我们提交代码的时候  就会提示我们先pull最新代码
     但是这样Git里始终会留下一个MergeHistory  这个就可以使用  上面的指令  将本地未提交的代码作用到新版本中  

8:clone远程仓库
      可以选择https和ssh两种方式  一般https比较严格  需要验证  ssh即可

9:分支管理一个场景
     一个开发分支  一个稳定代码分支   每次测试完成之后才将 开发分支的代码合并到稳定分支上。


10:分支创建:git checkout -b dev     该命令就是自动创建分支并且切换到该分支下
       git branch dev  创建分支     git checkout dev     切换到dev分支下     但是加入本地有代码没有提交   这个时候是不可以切换分支的
       这个时候需要  需要使用git stash指令将本地代码暂存下来   随后在将代码分支切换

 

深入分析git的使用

1:每个项目都有一个.git隐藏文件  congif配置文件。

2:创建仓库

      git  init  自己本地创建一个git仓库 在执行命令的文件目录下     git clone  将服务端的git仓库clone到本地

3:追加修改

     git commit  --amend

     具体思路如下:直接 修改结束   执行 git add  提交文件  随后执行  git commit --amend -m "本次修改"

     这样就不会出现多个提交  而是一个提交。(来修正上一个错误的提交)

 4:git三区  工作区(工作的区)  暂存区(执行git add后文件所在区域)  历史区(保存各个版本的区域)

5:尝试一下 git commit  以后   再执行git reset文件看看效果。  其实就是reset掉提交记录  但是不修改本地的工作区

      可以尝试下次继续提交。   

6:分支管理(只有一个主分支,  )

       1:创建分支  git  branch dev 创建分支    git checkout dev 切换分支

       git branch -b dev  命令等价于创建分支并且切换分支。

       如果分支已经存在  直接 git checkout dev 即可。

      :2:合并分支:假如我们切换到dev分支进行修改,然后执行 add commit  操作,将代码提交,但是我们切换到master分   

         支 发现没有最新代码,这个时候就需要合并分支,此时切换到主分支master  然后执行 git merge dev 就是将 dev分支的代            码合并到master分支。但是可能会冲突,这个时候就需要解决冲突。

      3:删除分支  git  branch -d dev 删除dev分支。(但是加入这个分支代码没有合并到主分支就会失败) 

            但是可以使用git branch -D dev 强制删除分支。

      4:推送分支  将本地创建的分支推送到远程仓库,使用 git push 指令  git push origin dev 就是将本地的dev分支推送到

            服务器端。

      (我们在执行 git clone 的时候,git会自动的将本地的master分支和远程的master分支对应起来   所以我们切换分支

           如果是服务端我们需要将本地的和远程的对应起来。)

 

git图解      1:工作区    2:暂存区    3:历史区  4:远程库

 

git学习网站:  https://git-scm.com/book/zh/v1/

http://marklodato.github.io/visual-git-guide/index-zh-cn.html

 

 

 

 

             

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值