Git安装和介绍、获取 Git 仓库
  • Git详解
  1. 关于版本控制
  • 本地版本控制

本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的 好处就是简单,但是特别容易犯错。有时候会混淆所在的工作目录,一不小心会写错文件或者覆盖意想外的文件。

 

  • 集中化的版本控制系统

如何让在不同系统上的开发者协同工作?于是,集中化的版本控制系统(Centralized Version  Control Systems,简称 CVCS)应运而生。这类系统,诸如 CVS、Subversion 以及Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。

 

  • 分布式版本控制系统

在这类系统中,像Git、Mercurial、Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。

 

  1. Git简介

git是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。

Git 官方中文手册 https://git-scm.com/book/zh/v2

  • Git历史

自2002年开始,林纳斯·托瓦兹决定使用BitKeeper作为Linux内核主要的版本控制系统用以维护代码。因为BitKeeper为专有软件,这个决定在社区中长期遭受质疑。在Linux社区中,特别是理查德·斯托曼与自由软件基金会的成员,主张应该使用开放源代码的软件来作为Linux核心的版本控制系统。林纳斯·托瓦兹曾考虑过采用现成软件作为版本控制系统(例如Monotone),但这些软件都存在一些问题,特别是性能不佳。现成的方案,如CVS的架构,受到林纳斯·托瓦兹的批评。

2005年,安德鲁·垂鸠写了一个简单程序,可以连接BitKeeper的存储库,BitKeeper著作权拥有者拉里·麦沃伊认为安德鲁·垂鸠对BitKeeper内部使用的协议进行逆向工程,决定收回无偿使用BitKeeper的授权。Linux内核开发团队与BitMover公司进行蹉商,但无法解决他们之间的歧见。林纳斯·托瓦兹决定自行开发版本控制系统替代BitKeeper,以十天的时间,编写出第一个git版本

  1. 安装git
  • yum安装Git

[root@centos6 ~]# rpm -qa git                 #centos 自带git

git-1.7.1-9.el6_9.x86_64 t

[root@centos6 ~]# yum install git -y          #

  • 编译安装

yum install curl-devel expat-devel gettext-devel  openssl-devel zlib-devel  #安装依赖关系

tar -zxf git-2.0.0.tar.gz                                                   # 编译安装

cd git-2.0.0

make configure

./configure –prefix=/usr

make

make install

  1. 初次运行 Git 前的配置
  • 配置git

git config –global user.name “liwenbin”                   #配置git使用用户

git config –global user.email “liwenbin@moyi365.com”      #配置git使用邮箱

git config –global color.ui true                      #语法高亮

git config –list                                      # 查看全局配置

查看生成的配置文件

[root@gitlab ~]# cat .gitconfig

[user]

name = liwenbin

email = liwenbin@moyi365.com

[color]

ui = true

  • 获取帮助

使用Git时需要获取帮助,有三种方法可以找到Git命令的使用手册:

  • git help <verb>
  • git <verb> –help
  • man git-<verb>

例如,要想获得配置命令的手册,执行

git help config

  1. 获取 Git 仓库

有两种取得 Git 项目仓库的方法。 第一种是在现有项目或目录下导入所有文件到 Git 中; 第二种是从一个服务器克隆一个现有的 Git 仓库。

  • 初始化git server

git init –bare

  • 现有目录中初始化仓库(客户端)

如果你打算使用 Git 来对现有的项目进行管理,你只需要进入该项目目录并输入

[root@centos6 ~]# cd git_data/

[root@centos6 git_data]# git init

[root@centos6 git_data]# ls .git/

branches  config  description  HEAD  hooks  info  objects  refs

[root@centos6 git_data]# git add .

[root@centos6 git_data]# git commit -m ‘initial project version’

[root@centos6 git_data]# git remote add origin git@cpsd.ekwing.com:liwenbin/ekcpsd.git

[root@centos6 git_data]# git push -u origin master

注意:可以不先创建工程

  • 克隆现有的public仓库

如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想为某个开源项目贡献自己的一份力,这时就要用到 git clone 命令。

方式一

[root@node2 git_job]# git clone https://github.com/rabbitmq/rabbitmq-server.git

Initialized empty Git repository in /root/mysql-5.6.16/git_job/rabbitmq-server/.git/

error:  while accessing https://github.com/rabbitmq/rabbitmq-server.git/info/refs

fatal: HTTP request failed

解决:

yum update -y nss curl libcurl

方式二:

[root@node2 git_job]# git clone git@github.com:rabbitmq/rabbitmq-server.git

  • 克隆现有的private仓库

方式

git clone http://liwenbin:password123@cpsd.ekwing.com/liwenbin/www.git

注意:密码不能存在特殊字符,克隆后之后拉取推送则不需要密码

方式二

如果存在特殊字符,克隆方式如下:

git clone http://liwenbin@cpsd.ekwing.com/liwenbin/www.git

然后交互式输入密码:此后拉取推送一直需要密码,可以修改项目下的.git/config配置文件中的url添加密码,类似不存在特殊字符的拉取方式的url

方式

gitlab页面登录–>setting–>SSH Keys–>添加公钥

git clone git@cpsd.ekwing.com:liwenbin/www.git

此时用户对项目的权限随gitlab用户的角色。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇