GIT简介
来源
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
功能
1、从服务器上克隆数据库(包括代码和版本信息)到单机上。
2、在自己的机器上创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
优缺点
优点:
1、适合分布式开发,强调个体。
2、公共服务器压力和数据量都不会太大。
3、速度快、灵活。
4、任意两个开发者之间可以很容易的解决冲突。
5、离线工作。
缺点:
1、资料少(起码中文资料很少)。
2、学习周期相对而言比较长。
3、不符合常规思维。
4、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
新加GIT用户
用户将作为所有代码仓库和用户权限的管理者
添加GIT用户
[fanmaolin@Centeros ~]$ sudo useradd -m git
[fanmaolin@Centeros ~]$ sudo passwd git
Changing password for user git.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
Sorry, passwords do not match.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
初始化git帐户信息
[fanmaolin@Centeros ~]$ su git
Password:
[git@Centeros fanmaolin]$ cd
[git@Centeros ~]$ git config --global user.name "git"
[git@Centeros ~]$ git config --global user.email "git@email.com"
把git用户添加到sudo里去
git@Centeros ~]$ su fanmaolin
Password:
[fanmaolin@Centeros git]$ sudo vim /etc/sudoers
***省略
git ALL=NOPASSWD:ALL
***省略
配置ssh公钥访问oschina
把代码放到开源中国社区的码云里
ssh公钥
大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。
首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh目录。关键是看有没有用 something或者something.pub 来命名的一对文件,这个 something通常就是 id_dsa 或 id_rsa。有 .pub 后缀的文件就是公钥,另一个文件则是密钥。假如没有这些文件,或者干脆连 .ssh 目录都没有,可以用 ssh-keygen 来创建。
转到.ssh目录下(若没有则新建一个),生成的公钥将放到该目录下
生成公钥
[fanmaolin@Centeros git]$ cd ~/.ssh/
[fanmaolin@Centeros .ssh]$ ssh-keygen -t rsa -C"1300958-2009@163.com"#注意,这里的邮箱为你在码云的注册邮箱,弹出要输入文件名及密码等,直接敲Enter即可
Generating public/private rsa key pair.
Enter file in which to save the key (/home/fanmaolin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/fanmaolin/.ssh/id_rsa.