我是靠谱客的博主 潇洒彩虹,最近开发中收集的这篇文章主要介绍git的使用git的学习之旅,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

git的学习之旅

什么是git

Git是目前世界上最先进的分布式版本控制系统。

  • 作者:Linus Torvalds

  • 目的:最初为了解决linux系统的维护需要频繁的打补丁和保存归档(很多时间都花在打补丁的过程上了),git应运而生

  • 由来:linux 内核有着为数众多的参与者,绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间),到了02年,项目组启用了BitKeeper分布式版本控制系统来管理和维护代码。 到了2005年开发BitKeeper的商业公司对其进行收费,Linus Torvalds一气之下,花两周左右,创造了Git。Git是免费、开源的,最初Git是为辅助 Linux 内核开发的,来替代 BitKeeper!

Git基本理论(重要)

三个区域

Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:

在这里插入图片描述

  • Workspace:工作区,就是你平时存放项目代码的地方
  • Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

本地的三个区域确切的说应该是git仓库中HEAD指向的版本:

在这里插入图片描述

  • Directory:使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git的管理空间。
  • WorkSpace:需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间。
  • .git:存放Git管理信息的目录,初始化仓库的时候自动创建。
  • Index/Stage:暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区。
  • Local Repo:本地仓库,一个存放在本地的版本库;HEAD会只是当前的开发分支(branch)。
  • Stash:隐藏,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态。

工作流程

git的工作流程一般是这样的:

1、在工作目录中添加、修改文件;

2、将需要进行版本管理的文件放入暂存区域;

3、将暂存区域的文件提交到git仓库。

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

在这里插入图片描述

为什么是git

说到优势,那么自然是相对与SVN而言的

  1. **版本库本地化,支持离线提交,相对独立不影响协同开发。**每个开发者都拥有自己的版本控制库,在自己的版本库上可以任意的执行提交代码、创建分支等行为。例如,开发者认为自己提交的代码有问题?没关系,因为版本库是自己的,回滚历史、反复提交、归并分支并不会影响到其他开发者。
  2. **更少的“仓库污染”。**git对于每个工程只会产生一个.git目录,这个工程所有的版本控制信息都在这个目录中,不会像SVN那样在每个目录下都产生.svn目录。
  3. **把内容按元数据方式存储,完整克隆版本库。**所有版本信息位于.git目录中,它是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签、分支、版本记录等。
  4. **支持快速切换分支方便合并,比较合并性能好。**在同一目录下即可切换不同的分支,方便合并,且合并文件速度比SVN快。
  5. **分布式版本库,无单点故障,内容完整性好。**内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

如何使用

前置知识:

常用的Linux命令:

平时一定要多使用这些基础的命令!

1)、cd : 改变目录。

2)、cd . . 回退到上一个目录,直接cd进入默认目录

3)、pwd : 显示当前所在的目录路径。

4)、ls(ll):  都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。

5)、touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。

6)、rm:  删除一个文件, rm index.js 就会把index.js文件删除。

7)、mkdir:  新建一个目录,就是新建一个文件夹。

8)、rm -r :  删除一个文件夹, rm -r src 删除src目录

rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!
9)、mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。

10)、reset 重新初始化终端/清屏。

11)、clear 清屏。

12)、history 查看命令历史。

13)、help 帮助。

14)、exit 退出。

15)、#表示注释

下载以及安装

官网下载太慢,使用淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows/

在这里插入图片描述

安装无脑下一步即可!

安装完毕后发现右键会有

在这里插入图片描述

点击git bash here

在这里插入图片描述

配置用户名(重要)

git config --global user.name "zyq"  #名称
git config --global user.email "854296521@qq.com"   #邮箱

查看是否配置成功
在这里插入图片描述

gitee远程仓库

github 是有墙的,比较慢,在国内的话,我们一般使用 gitee ,公司中有时候会搭建自己的gitlab服务器(理解为私有仓库)

1、注册登录码云,完善个人信息

在这里插入图片描述

2、设置本机绑定SSH公钥,实现免密码登录!(免密码登录,这一步挺重要的,码云是远程仓库,我们是平时工作在本地仓库!)

# 进入 C:UsersAdministrator.ssh 目录# 生成公钥ssh-keygen

在这里插入图片描述

3、将公钥信息public key 添加到码云账户中即可!

在这里插入图片描述

4、使用码云创建一个自己的仓库!

在这里插入图片描述

许可证:开源是否可以随意转载,开源但是不能商业使用,不能转载,… 限制!

在这里插入图片描述

不用输密码就可以将远程项目克隆到本地!

在这里插入图片描述

在这里插入图片描述

此时test文件夹就是本地仓库了,而且和远程仓库是同步的 add commit push 代码也不会发生冲突.

idea项目关联GItee远程仓库(方法一,推荐)

  1. 创建远程代码仓库
    在这里插入图片描述
    重要!!!!不要勾选初始化

在这里插入图片描述

  1. 创建idea项目 ,并将当前项目的文件夹 设置为本地仓库
    在这里插入图片描述

  2. 设置远程仓库地址

在这里插入图片描述
把复制的仓库地址填入以下位置
在这里插入图片描述

  1. 提交代码到远程仓库
    在这里插入图片描述
    点击提交即可!!

idea项目关联GItee远程仓库(万能方法)

  1. 创建一个gitee远程仓库

​ 如上,第4步、使用码云创建一个自己的仓库!

  1. 到本地新建文件夹 git clone 仓库的所有东西 到本地

在这里插入图片描述

克隆成功

在这里插入图片描述

  1. 创建idea项目

在这里插入图片描述

  1. 将克隆到本地仓库的文件复制到新建的idea项目(重要)

在这里插入图片描述

  1. 再次进入idea查看项目发现被初始化

在这里插入图片描述

到此已经把idea项目和远程仓库建立起了连接 主要是因为隐藏文件.git里有远程仓库的指向

  1. 更改文件后,打开idea 控制台的 terminal输入 git add . (自行百度忽略模板.gitignore:就是不上传到远程仓库的文件)

在这里插入图片描述

  1. git commit -m “描述” 提交代码到暂存区

在这里插入图片描述

  1. git push [分支] [主分支] 中括号中的分支和主分支可以不写

在这里插入图片描述

push到远程仓库后,可以 发现远程仓库的变化

在这里插入图片描述

6、7、8 三步可以一直循环,直到项目开发完毕!!

最后

以上就是潇洒彩虹为你收集整理的git的使用git的学习之旅的全部内容,希望文章能够帮你解决git的使用git的学习之旅所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部