GIT分布式版本控制系统

GIT (分布式版本控制系统)简介

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。[1] Git的读音为/gɪt/。
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 很多 Freedesktop 的项目迁移到了 Git 上。

特点


分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
下图是经典的git开发过程。
Git的功能特性:
从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。
缺点:
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

官网下载地址https://git-scm.com/


廖雪峰gti教程 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

git是以命令行的方式生成的代码仓库,需要用linux的命令端,如果你是在windows上面你可以使用git自带的bash.exe工具该模拟linux的命令行窗口,当然bash.exe工具对linux的命令支持的很少,并且对中文不是特别支持,
你可是使用Cygwin,Cygwin是一个在windows平台上运行的类UNIX模拟环境(Cygwin下载地址: http://www.cygwin.com/)


创建git仓库的命令如下:

龙布天下@DESKTOP-HBAB84P MINGW64 /bin
//创建一个 box_git文件夹
$ mkdir box_git

龙布天下@DESKTOP-HBAB84P MINGW64 /bin
//进入此文件夹
$ cd box_git

龙布天下@DESKTOP-HBAB84P MINGW64 /bin/box_git
//列出此文件夹的全路径
$ pwd
/bin/box_git

龙布天下@DESKTOP-HBAB84P MINGW64 /bin/box_git
//把此文件夹 使用 git init命令初始化为 git版本仓库
$ git init

Initialized empty Git repository in C:/Program Files/Git/usr/bin/box_git/.git/

龙布天下@DESKTOP-HBAB84P MINGW64 /bin/box_git (master)
//使用 ls -a 命令你会发现列出了一个 .git的隐藏文件,这个就是git版本仓库的配置文件
$ ls -a
.  ..  .git

龙布天下@DESKTOP-HB
//使用touch命令 可以创建一个文件
$ touch redme.txt

龙布天下@DESKTOP-HB
//使用 git add 命令这个这个文件添加到版本仓库当中
$ git add redme.txt

龙布天下@DESKTOP-HBAB84P MINGW64 /bin/
//使用git commit 命令提交这个文件,或者一个版本文件
//使用git commit (要提交的文件) -m 可以注释这个文件的作用
$  git commit -m "this is my new file"

龙布天下@DESKTOP-HBAB84P MINGW64 /bin/box_git (master)
//你可以使用 git config --global user.name配置一个全局的用户名
$ git config --global user.name longlong

龙布天下@DESKTOP-HBAB84P MINGW64 /bin/box_git (master)
//你可以使用 git config --global user.emal配置一个全局的邮箱
$ git config --global user.emal www.@long.com

龙布天下@DESKTOP-HBAB84P MINGW64 /bin/box_git (master)
使用 git staus查看当前版本库的分支
$  git status

Git与Github

首先要检查key是不是已经存在,

打开一个终端,并输入以下命令:

$ ls -al ~/.ssh

如果结果列表中包含以下文件, 则不需要在生成新的KEY, 可以直接使用。

id_dsa.pub

id_ecdsa.pub

id_ed25519.pub

id_rsa.pub

如果不存在, 则需要创建新的Key来使用。

输入下面的命令来生成key, 注意替换你自己的邮箱地址,并且是真实有效的邮箱。

$ ssh-keygen -t rsa -C "18567738489@163.com"

# Creates a new ssh key using the provided email

Generating public/private rsa key pair.

Enter file in which to save the key (/your_home_path/.ssh/id_rsa):

这里在提示你保存key的位置, 默认直接回车就可以。

Enter passphrase (empty for no passphrase):

当你看到这个的时候, 输入你的密码。

Enter same passphrase again:

再次输入, 以确认密码。

当以上步骤成功完成后, 你将看到类似与这样的结果:

Your identification has been saved in /your_home_path/.ssh/id_rsa.

Your public key has been saved in /your_home_path/.ssh/id_rsa.pub.

The key fingerprint is:

01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

执行以下命令将KEY加入到ssh-agent:

$ eval "$(ssh-agent -s)"

# Agent pid 59566

$ ssh-add ~/.ssh/id_rsa

打开 ~/.ssh/id_rsa.pub文件, 复制其中所有的内容。然后把它粘贴到github的ssh key添加的表单中。

执行以下命令来测试key。

$ ssh -T git@github.com

如果你看到:

The authenticity of host 'github.com (207.97.227.239)' can't be established.

RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.

Are you sure you want to continue connecting (yes/no)?

输入“yes”并回车。

当你看到以下内容时, 你就添加成功了。

Hi username! You've successfully authenticated, but GitHub does not

provide shell access.

Git配置和第一次推送项目 :
http://blog.csdn.net/chengtt_love/article/details/46238189

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王家视频教程图书馆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值