Git基本使用

Git基础

一、Git是什么?

Git是一个开源的分布式版本管理系统;
Git是由Linus开发用于管理和维护Linux内核源码;
Git是目前世界上最先进的分布式版本管理系统。

1.版本管理系统

在我们的实际开发过程中,经常会有这种需求或问题

我们需要在已经发布的程序中添加新的功能,如果测试验证后没有问题,才会使用新的代码,而在测试验证期间,不能影响原来的代码。我们常用的方式应该就是备份多份源代码。这么做唯一的好处就是简单,但是特别容易犯错。
实际项目开发基本都是多个人合作完成,在多个人写代码时,就牵扯到代码合并成一份的问题。每个人修改或者维护之后会产生一个新的版本,将这些不同版本的代码进行统一管理的系统被称之为——版本管理系统

2.分布式版本管理系统

  • 集中式:SVN,将修改或者维护后的不同版本的代码交给一个中央服务器进行统一管理,但这么做有一个坏处,如果这个中央服务器挂掉了那么代码也会丢失,为了改变此类现状,后来又出现了分布式版本管理系统。
  • 分布式:同样会有一台中央服务器对代码进行统一管理,但是和集中式不同的是,分布式会在个人的计算机上创建一个本地仓库,它的作用就类似于中央服务器,在团队中,万一中央服务器挂掉了,也可以在个人的本地仓库中查看代码版本信息,本地服务器挂掉了也可以在同事的本地仓库拉取代码。

二、相关概念

1. workSpace

概念:workSpace也被称为工作空间,在编辑器或者文件夹下所看到的目录就是工作空间。

2.Index

概念:也被称之为暂存空间,用于保存你需要提交到Repository中修改的记录。

3.Repository

概念:Repository也被称为本地仓库,用于记录文件修改的版本库,我们可以在多个版本之间切换,用于还原到某个指定版本的内容。

4.Remote

概念:Remote为远程仓库,和Repository功能一致,只是Remote远程仓库时可以合并多个用户本地仓库的记录。

5.大致流程图

git流程图

6.Git工作流

Master :生产环境发布分支;
Develop :开发分支;
Test :测试分支;
禁止在master和develop上进行开发
当你需要开发新的功能或者修复bug,你需要按照以下步骤:

  1. 在develop分支下git pull,拉取远程分支develop更新到本地develop;
  2. 在本地develop下checkout一个新的本地分支,比如feature1;
  3. 在本地feature1进行开发,然后将多个提交记录通过git rebase进行合并;
  4. 切换到develop分支下,git pull拉取远程develop分支的更新;
  5. git merge feature1,将feature1的代码合并到本地develop下;
  6. 推送本地develop到远程分支develop。

三、Git原理及实质

Git管理的时修改,而非文件的内容

什么是修改呢?当工作区内容和暂存区的内容不一致时,Git就可以判定为文件发生了修改。

Git判定修改的逻辑是:通过一个算法将暂存区中的某个文件内容算出一个hash值与工作区文件内容的hash比较。

在这里插入图片描述

四、Git命令

使用 ”git help -a“ 可以查看所有命令的介绍信息:

在这里插入图片描述

常用命令:

  1. git init :初始化一个本地仓库,会在当前目录生成一个".git"文件夹,该文件夹的目录中包含版本管理的全部数据。
  2. git add :将工作区的内容添加到暂存区
    • git add -a :提交所有变化;
    • git add -u :提交被修改或被删除的文件,不包括新文件;
    • git add . :提交新文件和被修改的文件,不包括被删除的文件;
  3. git reset :撤销 git add的操作,重置指针到当前位置;
    • git reset --soft :只是改变指针到指定commit,不会丢失内容;
    • git reset --hard :改变指针和工作区到指定位置;
  4. git commit :将暂存区的内容上传至本地仓库;
    • git commit -m “提交信息”;
    • git commit -amend “修改上次提交信息”;
  5. git log:查看提交信息;
    • git log --graph :查看提交曲线;
    • git log --pretty=online :如果嫌输出的信息太多可以使用该命令查看简易版记录;
  6. git rm :删除文件;
    • git rm 文件名 :删除指定文件;
    • git rm -r delete :从工作区和暂存区中删除目录;
    • git rm --cached 文件名 :只从暂存区删除;
  7. git status :查看文件状态;
  8. git revert :回退提交到指定位置,和 git reset 区别在于日志中会有记录revert操作;
  9. git stash :储存你想修改的内容,而不是提交到本地仓库中。
    • git stash save :储存当前工作区的改变和没有提交到本地仓库的暂存区的内容;
    • git stash list :查看储存列表;
    • git stash pop :应用某个储存列表;
  10. git rebase :将多个commit合并到一个commitid上面;注意:不允许再公共分支上进行rebase操作;
  11. git remote :关联远程仓库;
  12. git clone :将远程仓库克隆到本地;
  13. git pull :拉取远程仓库分支内容,合并到本地分支;
  14. git fetch:相当于是从远程仓库获取最新版本到本地,不会自动合并;
  15. git push :将本地分支推送到远程仓库;

五、分支

在团队开发中往往需要很多分支,master分支往往是总分支,团队成员需要自己创建自己的开发分支development,每个分支都会对应相应的功能,最后开发完成后合并到master分支上。

分支常用命令

  1. git branch :列出、创建或删除分支;
    • git branch :查看本地分支;
    • git branch -a :查看本地和远程分支;
    • git branch -c :创建分支;
    • git branch -d 分支名 :删除分支;
    • git branch -m :重命名分支;
  2. git checkout :切换到指定分支,检出某个分支;
    • git checkout -b 分支名 或 git switch -c 分支名:创建并切换到该分支;
    • git checkout --: 撤销修改;
      在新版本的Git中,使用git switch 分支名 来切换指定分支;
  3. git merge 分支名 :合并某分支到当前分支;

HEAD指针

记录的是当前工作区在哪个分支,分支文件中记录的commit。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: 公司使用Git基本流程包括以下几个步骤: 1. 初始化仓库:使用git init命令在项目文件夹中初始化一个Git仓库,生成.git隐藏文件夹,用于存储版本控制相关的信息。 2. 配置用户名和邮箱:使用git config --global user.name和git config --global user.email命令配置全局的用户名和邮箱地址,这些信息会被写入到.gitconfig文件中,以便在提交代码时标识作者身份。 3. 克隆远程仓库:使用git clone命令将远程仓库克隆到本地,可以通过指定远程仓库的URL或者名称来进行克隆。 4. 创建分支:使用git branch命令创建一个新的分支,可以基于主分支或其他已存在的分支进行创建。 5. 切换分支:使用git checkout命令切换到指定的分支,可以在不同的分支上进行开发和修改。 6. 添加和提交代码:使用git add命令将修改的文件添加到暂存区,然后使用git commit命令将暂存区的文件提交到本地仓库。 7. 拉取和推送代码:使用git pull命令从远程仓库拉取最新的代码到本地仓库,使用git push命令将本地仓库的代码推送到远程仓库。 8. 合并分支:使用git merge命令将一个分支的修改合并到另一个分支上,可以将开发完成的功能合并到主分支上。 9. 解决冲突:在合并分支或拉取代码时,如果存在冲突,需要手动解决冲突并提交修改。 10. 查看日志和版本:使用git log命令查看提交的日志记录,可以查看每次提交的作者、时间和修改内容等信息。 以上是公司Git使用基本流程,可以根据具体的项目需求和团队协作方式进行调整和扩展。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [Git基本使用方法教程(入门级)](https://blog.csdn.net/weixin_71171795/article/details/127938111)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值