设为首页 加入收藏

TOP

GIt 入门(一)
2017-09-30 17:01:48 】 浏览:9909
Tags:GIt 入门

关于GIT

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

什么是版本控制

版本控制(Revision control)是维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程。此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确保由不同人所编辑的同一代码文件案都得到同步。

集中式和分布式

再说分布式是什么前, 我们前看一下什么是集中式.

集中式

集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊。

分布式

那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。

在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。

安装GIT

  1. sudo apt-get install git

 

创建版本库

第一步, 先要创建一个目录, 这个目录就是用来存放仓库的.

 

  1. $ mkdir git         创建一个名叫git的目录
  2. $ cd git    


第二步, 使用git init命令, 将当前目录创建成git仓库.

 

  1. $ git init

 

马上就把仓库创建成功了, 并提示这是一个空仓库.

 

  1. $ ls -al           al表示列出所有的文件,包括隐藏文件,就是文件前面第一个字符为.的文件
  2. 总用量 12
  3. drwxrwxr-x  3 linux linux 4096 8  10 18:14 .    
  4. drwxr-xr-x 43 linux linux 4096 8  10 18:00 ..
  5. drwxrwxr-x  8 linux linux 4096 8  10 18:00 .git           .git为隐藏文件夹, 表示创建成功

 

配置用户信息

配置用户名, 这个用户名是你的提交patch的名子, 最好写真的名了, 不是网名, 如果有一天你成为名人了,那这个东西会一直印着你的足迹.

  1. $ git config --global user.name "你的名字"

 

配置用户邮箱, 这个邮箱最好写你最常用的邮箱, 说不定会有人给你写邮件的, 这个是可能来自世界的任何角落, 可能是任何肤色和眼睛.

  1. $ git config --global user.email "你的邮箱"

 

配置编辑提交信息的编辑器, 我们熟悉的编辑器是vim. 使用这个去编辑提交信息, 最好把每一次提交信息填写写的全面, 不是为了给别人看, 万一那天自己想回顾一下. 也需要详细的信息.

  1. $ git config --global core.editor vim

 

Git用户名邮箱的全局配置和单仓库配置

  1. Git可以配置了一个全局的用户名和邮箱:
  2. $ git config --global user.name "xxxxx"
  3. $ git config --global user.email "xxxxx@xx.com"
  4. $ git config --list
  5. 但是你的项目可能是公司自己搭建的gitlab进行管理的,那就需要单独针对这个项目单独配置用户名和邮箱。
  6. 在项目根目录下进行单独配置:
  7. $ git config user.name "gitlab's Name"
  8. $ git config user.email "gitlab@xx.com"
  9. $ git config --list
  10. git config --list查看当前配置, 在当前项目下面查看的配置是全局配置+当前项目的配置, 使用的时候会优先使用当前项目的配置

 

增加文件

当前目录里没有文件, 那么我们先创建一个文件README.

 

  1. $ touch README

 

编辑这个文件, 写一点东西在里面.

 

  1. $ vim README

 

先用查看当前状态的命令, 查看一下现在目录下文件的状态.

 

  1. $ git status
  1. 位于分支 master
  2. 未跟踪的文件:
  3.  (使用 "git add <文件>..." 以包含要提交的内容)
  4. README
  5. 提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)

 

把文件加到仓库中去, 只有加到仓库中了, 才可能看一下文件的变化.

 

  1. $ git add README

 

现在使用查看状态的命令, 看一下目录下文件的状态.

 

  1. $ git status
  2. 位于分支 master
  3. 要提交的变更:
  4.  (使用 "git reset HEAD <文件>..." 以取消暂存)
  5. 新文件:   README

 

提交

  1. $ git commit

 

现在使用查看状态的命令, 看一下目录下文件的状态.

 

  1. 位于分支 master
  2. 无文件要提交,干净的工作区

 

查看提交信息

  1. $ git log
  2. commit 50f37204c0a3f056f799683415f577a3a6bfb11b id
  3. Author: klous <klous530.outlook.com> 我们的用户名,邮箱
  4. Date: Thu
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇23、初识面向对象 下一篇Python2基础

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目