Git的简介

 

Git是2005年Linus Torvalds 为了帮助管理 Linux(R) 内核开发而开发的一个开放源码的版本控制软件,正如所提供的文档中说的一样,”Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。”

Git的安装与配置

安装Git

ubuntu 10.04源里有Git,直接用yum,apt-get安装即可。安装后直接使用即可,一些初始化的信息在下面有介绍。

1
sudo apt-get install git-core
配置ssh-key

Github使用ssh tunnel(加密通道,不做介绍了)。因此要先产生一枚ssh-key 上传到Github上。

1
$ ssh-keygen -C 'your@email.address' -t rsa

然后确认默认路径,再连续输入2次密码(直接回车则密码为空)即可。(备注1)

Github注册及Git的简单操作

http://github.com(支持汉语),注册后帐号右上角有”Your Repositories”,选择”Create One”。在”Project name”处输入名字后,它会显示出一个创建新项目的小教程。

说一下在本地的一些操作,假设你的代码文档已经存在了 ~/work文件夹中,那么:

Git的初始设置
1
2
$ git config --global user.name "Your Real Name"
$ git config --global user.email  you@email.address

这些是要在以后版本信息里面出现的东西。

初始化Git仓库(init)
1
2
3
4
$ cd ~/work
$ git init
# 然后会显示:
Initialized empty Git repository in $PROJECT/ .git/

表示在当前目录下创建了一个.git的隐藏目录,这个就是所谓的Git仓库了。此时的~/work文件夹,我们也改名称之为工作树。

生成快照(take a snapshot)

将工作树中的一些文档存至Git仓库中,并且变成Git仓库能够识别的数据格式。

1
2
$ cd ~/work
$ git add .

注意:add 与后面的”.”是有一个空格的,这个”.”表示所有的文档。如果只生成一个文档,则将”.”改为文档名即可。

提交(commit)

所生成的快照被存放到一个临时的存储区域, 称该区域为索引。Git的每次更新都需要提交一次。

1
2
3
$ git commit
# 一般来说都需要对跟新的版本进行说明,则上述命令应为
$ git commit -m "你的版本更新信息"

提交密钥

还记得刚刚生成的密钥吧,现在我们要把它放到github上了

1
2
$ cd ~/.ssh
$ ls

会显示”id_rsa     id_rsa.pub” 两个文件,前一个是私钥,.pub的是公钥。将公钥粘贴到你github帐号中的

SSH Public Keys处即可。(备注2)

文档忽略

提供了文档忽略机制,Git可以将工作树中你不希望接受 Git 管理的文档信息写到同一目录下的 .gitignore 文件中。以文件”dust”为例:

1
2
3
$ cd ~/work
$ echo “dust” > .gitignore
$ git add .

先叙述这么多,有更多的需要可以到git官网上去查http://git-scm.com

PULL/PUSH

git-pull:从远端仓库取回版本更新

git-push:可将本地版本更新推送到远端仓库中。

团队开发流程

1
$ git clone  用户名@IP:目标路径
修改文件
1
2
3
$ git add 改动的文件
$ git commit
$ git pull
解决合并问题
1
$ git push

push命令只能将代码push到你的分支上。

合并&分支

分支的作用有很多,并行开发多版本,并行开发新功能,测试某个独立功能点等。而这些总结起来,

目的就是为了避免不同版本的代码之间互相影响,而当这种影响已经不存在了,就需要合并了。

1.产生新分支(名为local):
1
$ git branch local
2.查看存在多少分支
1
2
3
$ git branch
local
* master
3.切换到分支/主文件夹
1
$ git checkout local
4.分支的合并
1
2
$ git checkout master # 将当前分支切换为master
$ git merge local # 将local分支与当前分支合并
5.删除分支
1
$ git branch d local

备注1:

关于ssh命令:

-keygen:产生公开钥 (pulib key) 和私人钥 (private key)。

-c:要求压缩所有资料(包含 stdin, stdout,stderr 和 X11 和 TCP/IP 连接) 压缩演算规则与 gzip 相同

-t:强制配置 pseudo-tty。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值