十分钟入门学习git和githhub

简介: git是一个版本控制系统


git是一个版本控制系统

文章目录

       git是一个版本控制系统

           一、什么是版本控制系统?

               1.1、概念

               1.2、分类

               1.3、基本概念

               1.4、不同版本控制系统优缺点

                   1.4.1本地:

                   1.4.2集中式版本控制系统

                   1.4.3解决------分布式版本控制系统:

           二、git分布式版本管理系统

               2.1由Linux创始人开发,作为Linux内核代码管理系统使用。

               2.2Git在设计时考虑了很多方面设计目标

               2.3Git原理:保存快照而非保存区别。

           三、安装git

               3.1Git 的工作区域:

               3.2安装git

                   3.2.1从 https://git-scm.com/ 下载windows版本git

                   3.2.2安装步骤

           四、创建仓库和基本操作

               4.1git安装好后,需要一些基本设置

                   4.1.1 设置用户名:git config --global user.name "yuwen"

                   4.1.2 设置邮箱:git config --global user.email "houyuwen2014@163.com"

                   4.1.3 查看所有设置 git config --list

               4.2 git 创建命令

                   4.2.1 git仓库初始化(带$为命令)

                   4.2.2 查看所有git文件

                   4.2.3 查看所有git状态

                   4.2.4 提交文件到暂存区域

                   4.2.5 提交到仓库

                   4.2.6 删除文件

                   4.2.6 checkout 某个版本

           五、git远程仓库

               5.1 实现代码共享

               5.2 git 远程仓库访问协议:

               5.3常用远程仓库实现:

               5.4举例:在自己的github中,关联本地仓库。

                   5.1本地电脑与github连接

                   5.2本地git仓库与github的仓库连接

一、什么是版本控制系统?

1.1、概念

版本控制是一种 记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
   (*)记录文件的所有历史变化
   (*)随时可恢复到任何一个历史状态
   (*)多人协作开发或修改
   (*)错误恢复
   (*)多功能并行开发
   产品--> 新加功能A ---> 单独拉一个新分支 --> 开发完成后合并到master或者丢弃

1.2、分类

*     本地版本控制系统
*     集中化版本控制系统   SVN
*     分布式版本控制系统   Git

1.3、基本概念

  repository    存放所有文件及其历史信息
  checkout    取出或切换到执行版本的文件
  version     表示一个版本
  tag       记录标识一个主要版本。2.0 3.0。用来标识一个特定的version

1.4、不同版本控制系统优缺点

1.4.1本地:

优点:
    简单,很多系统中内置。适合保存文本文件(配置文件、文章、信件)
缺点:
    只支持管理少量的文件,不支持基于项目的管理
    支持的文件类型单一
    不支持网络,无法实现多人协作

1.4.2集中式版本控制系统

优点:
    适合多人团队协作开发
    代码集中化管理
缺点:
    单点故障
    必须联网工作,无法单机工作

1.4.3解决------分布式版本控制系统:

    集合集中式版本控制系统优点
    支持离线工作,先提交到本地仓库,再在某个时间上传到远程仓库
    每个计算机都是一个完整仓库:强备份。

二、git分布式版本管理系统

2.1由Linux创始人开发,作为Linux内核代码管理系统使用。

2.2Git在设计时考虑了很多方面设计目标

  速度
  简单的设计
  对非线性开发模式的强力支持(允许上千个并行开发的分支)
  完全分布式
  有能力管理超大规模项目(挑战:速度和数据量)

2.3Git原理:保存快照而非保存区别。

  Git保存时,相当于保存了当下所有文件的一个整体快照。
  所以,每个版本都是独立的。随时想取某一个版本,可以很快取出来。

三、安装git

3.1Git 的工作区域:

  Git repository      最终确定的文件保存到仓库,作为一个新的版本
  staging area      暂存已经修改的文件
  woking directory    工作目录

3.2安装git

3.2.1从 https://git-scm.com/ 下载windows版本git

image.png

3.2.2安装步骤

全使用默认值,一直下一步
在一个文件夹下,右键Git Bash here 一个命令行窗口,与linux命令类似

image.png

右键Git GUI也会出现可视化窗口

image.png

四、创建仓库和基本操作

4.1git安装好后,需要一些基本设置

4.1.1 设置用户名:git config --global user.name “yuwen”

4.1.2 设置邮箱:git config --global user.email "houyuwen2014@163.com"

image.png

4.1.3 查看所有设置 git config --list

  git config --list

4.2 git 创建命令

4.2.1 git仓库初始化(带$为命令)

 

    $ git init 

4.2.2 查看所有git文件

   $ ll -a

4.2.3 查看所有git状态

  //创建文件前的git状态
   $ git status
   //创建文件后,但未提交的git状态
   $ git status
   新建文件,默认是未追踪的文件

4.2.4 提交文件到暂存区域

  $ git add README
  //检查状态
    $ git status
  On branch master
  Initial commit
  Changes to be committed:
    (use "git rm --cached <file>..." to unstage)
      new file:   README

4.2.5 提交到仓库

  $ git commit -m "add README"
  [master (root-commit) 6363356] add README
   1 file changed, 1 insertion(+)
   create mode 100644 README
  $ git commit -a -m "modify README"
  warning: LF will be replaced by CRLF in README.
  The file will have its original line endings in your working directory.
  [master db6832b] modify README
   1 file changed, 1 insertion(+)

4.2.6 删除文件

  $rm README
  $git rm README
  $git commit -m "delete README"

4.2.6 checkout 某个版本

  //检查版本
    $git log
  $ git checkout db6832b5e55a506e29c1c920489208f8d3c881a4
  Note: checking out 'db6832b5e55a506e29c1c920489208f8d3c881a4'.
  You are in 'detached HEAD' state. You can look around, make experimental
  changes and commit them, and you can discard any commits you make in this
  state without impacting any branches by performing another checkout.
  If you want to create a new branch to retain commits you create, you may
  do so (now or later) by using -b with the checkout command again. Example:
    git checkout -b <new-branch-name>
  HEAD is now at db6832b... modify README
  root@Lenovo MINGW32 ~/Desktop/tzkt_demo2 ((db6832b...))
    //查看文件
  $ ll
  total 1
  -rw-r--r-- 1 root 197121 24 4月  21 22:09 README
  root@Lenovo MINGW32 ~/Desktop/tzkt_demo2 ((db6832b...)
  $ cat README
  Hello All
  Hello world
  root@Lenovo MINGW32 ~/Desktop/tzkt_demo2 ((db6832b...))
    //返回到master
  $ git checkout master
  Previous HEAD position was db6832b... modify README
  Switched to branch 'master'
  root@Lenovo MINGW32 ~/Desktop/tzkt_demo2 (master)
  $ ll
  total 0

image.png

五、git远程仓库

5.1 实现代码共享

远程仓库实际保存了本地.git文件夹下的东西,内容几乎一样

5.2 git 远程仓库访问协议:

  ssh协议
  git协议
  http https协议:一般用于开源项目

5.3常用远程仓库实现:

  1、github
  2、自己搭建git仓库服务器 gitlab

5.4举例:在自己的github中,关联本地仓库。

5.1本地电脑与github连接

//创建公钥,将本地电脑与远程GitHub连接
ssh-keygen -t rsa -C "email@email.com"命令 创建公钥

image.png

5.2本地git仓库与github的仓库连接

   //本地仓库与GitHub的仓库建立连接
   $ git remote add origin git@github.com:yibo4github/learnggit2.git
   //上传本地仓库的文件
   $ git push -u origin master
//建立连接步骤

image.png

image.png

 

相关文章
|
6天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
21 1
[Git]入门及其常用命令
|
29天前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
98 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
29天前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
124 1
git学习三:git使用:删除仓库,删除仓库内文件
|
5月前
|
存储 网络安全 开发工具
【GIT】Git常用命令学习
【GIT】Git常用命令学习
64 1
|
25天前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
65 0
|
29天前
|
编译器 网络安全 开发工具
git学习五:切换本地仓库出现的问题。修改git配置初始化。error:src refspec master does not match any。错误总结,送上几个案例
这篇文章是关于Git使用中遇到的一些问题及其解决方案的总结,包括切换本地仓库时的问题、修改Git初始化配置、以及解决"error: src refspec master does not match any"错误等。
50 0
|
3月前
|
存储 Shell 开发工具
Git 入门:从零开始掌握版本控制的艺术
【8月更文第16天】 在软件开发中,版本控制是一项至关重要的技能。它帮助开发者追踪文件的变化历史,并且可以在多个开发者之间协同工作。Git 是目前最流行的分布式版本控制系统之一。本文将带你从零开始学习 Git 的基本使用方法。
61 0
|
4月前
|
数据可视化 程序员 开发工具
小白也能玩转Git:从入门到实战详细教程
小白也能玩转Git:从入门到实战详细教程
|
缓存 Linux 开发工具
|
10天前
|
开发工具 git 开发者