栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Git学习笔记

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Git学习笔记

Git 1.核心:版本控制 2.什么是版本控制

版本控制(Revision control)是一种在开发过程中用于管理我们对文件、目录、或工程等内容的修改历史,方便查看更改历史记录,备份以便回复以前的版本的软件工程技术

  • 实现跨区域多人协同开发

  • 追踪和记载一个或者多个文件的历史记录

  • 组织和保护你的源代码和文档

  • 统计工作量

  • 并行开发、提高开发效率

  • 跟踪记录整个软件的开发过程

  • 减轻开发人员的负担,节省时间,同时降低人为错误

简单来说就是用于管理多人协同开发项目的技术。

3.常见的版本控制工具
  • git 分布式版本控制

    所有的版本信息仓库全部同步到本地的各个用户,这样旧可以在本地查看所有的版本历史,可以本地查看所有的版本历史,可是在本地提交,只需联网时push到相应的服务器和其他用户那里,由于每个用户都保存所有的版本信息,只要有一个用户的设备没有问题就可以回复所有的数据。

    缺点:

    • 每个人都拥有全部的代码,安全隐患。

    • 增加了本地存储空间的占用

  • svn 集中版本控制

    所有的版本数据都保存在服务器上,协同开发者同步更新上传自己的修改

    所有的版本数据都存在服务器上,用户的本地只有自己以前所同步的版本,如果不联网的话,用户就看不到原来的版本,也无法切换版本验证问题,或在不同的分支工作。而且,所有的数据都保存在的单一服务器上,有很大的风险,如果这个服务器损坏,这样就会丢失所有数据。可以定期备份来解决这样的问题。

4.Git和SVN的主要区别

SVN是集中版本控制系统,版本库是集中放在中央服务器的,用的都是自己的电脑,所以首选从中央服务器中最新的版本,然后工作,完成工作后,需要把自己完成的工作推送到中央服务器,集中式版本控制系统必须联网才能工作,对网络宽带要求比较高;

Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法就是这样:比如说自己的电脑上改了文件A,其他人也在电脑上改了文件A,这是,你们俩之间只需要把各自的修改推送给对方,就可以互相看到对方的修改了,Git可以直接看到更新了那些代码和文件!

5.Git的安装

直接可以在官网上下载

下载最新的版本即可

启动Git

Git Bash:unix与Linux风格的命令行,使用最多

Git CMD:windows风格的命令行

Git GUI:图形界面的Git,不建议初学者使用,建议使用命令

常用的Linux命令

6.Git的基本理论

三个区域

Git本地有三个工作区域:工作目录(working Directory),暂存区(Stage/index),资源库(Respository/Git Directory),如果算上远程的git仓库(Remote Directory)就可以分为四个工作区,文件在这四个工作区之间的转换关系入下: 

  • Work Directory:工作区,就是平时存放代码的地方

  • index/stage: 暂存区,用于临时存放你的改动,事实上它也是一个文件,保存即将提交到文件的列表信息

  • history:仓库区(即本地仓库),就是安全存放数据的位置,这里有你提交数据,其中head指定最新放入仓库的版本

  • Remote 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。

7.工作流程
  1. 在工具目录中添加、修改文件`

  2. 将暂存区域的文件提交到git仓库

因此git管理的文件有三种工作状态:已修改(modified),已暂存(staged),已提交(committed)

8.创建工作目录与常用指令

工作目录(WorkSpace)一般就是你希望git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文

日常的使用只需记住这留个命令即可

9.本地仓库的搭建

创建本地仓库有两种方法,意识创建全新的仓库,二是克隆远程仓库

1.创建全新的仓库,需要用Git管理项目的根目录执行

#在当前目录新建一个Git代码库
git init

2.克隆远程仓库

从远程克隆仓库

#克隆一个项目和他的完整代码历史
git clone [url]
10.文件的四种状态

版本控制就是对文件的版本控制,要对文件进行修改,提交操作,首先要知道文件当前在什么状态,不然可能提交了现在不想提交的文件,或是提交文件的没提交上

  • Untracked:未跟踪;表示当前文件在文件夹中,并没有加入到git代码库,不参与版本控制,通过git add状态变为Staged

  • Unmodify:文件已经入库,未修改,即版本库的快照文件和文件夹中完全一种,如果它被修改,变为Modified,如果git rm移除版本库,则成为Untracked文件

  • Modified:文件已经修改,仅仅是修改,并没有其他的操作,这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 !

  • Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

11.创建本地库

1.在项目的地址中打开命令行

2.输入命令行 git init

3.执行成功后项目路径下出现 .git文件,代表创建本地库成功

12.Git的版本回退

1.在模块上右键或者点击工具栏查看历史

2.选择要切换的版本

3.右键=》copy revison number

4.在模块上右键

5.选择Head并粘贴版本号

6.版本回退成功

13.Git的分支与合并

1.创建分支

2.选择new branch并命名,点击Create

3.在分支上提交新的代码

4.分支的合并 项目右键 切换到主干

5.在模块上右键选择合并改变

6.选择合并的分支

7.分支合并成功

14.Git解决冲突

当主干和分支在同一个位置都存在代码时,就需要解决冲突

1.分支添加内容,并添加到暂存区和本地库

2.在主干添加内容,并添加到暂存区和本地库

3.在主干合并分支内容,出现冲突

4.选择合并,并出现处理窗口

5.处理之后

6.点击apply应用,这里我们选择两者都要

15.更新本地库

正常情况下是合作伙伴上传新的代码到GitHub上,如果我们此时本地库不是最新的,我们将无法上传,为了安全起见,我们需要得到最新的远程仓库文件

测试

1.在GitHub上在线添加一个文件

2.在Idea中的本地库修改文件,添加到暂存库,添加到本地库,然后上传,发现上传被拒绝。

3.此时点击Merage或Rebase都可以实现本地库和远程Github的同步

4.也可以点击Cancel之后通过以下方式更新本地库

5.点击Pull将GitHub上最新的文件合并到本地库

6.点击Pul之后更新本地库成功

16.更新远程仓库地址

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/300267.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号