我的git 搭建
2015-08-25 23:35
211 查看
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
搭建git 服务器(centos 版本)
第一步,安装git
yum install -y git
第二步,创建一个
git用户,用来运行
git服务:
$ sudo adduser git
第三步,创建证书登录:(生成公钥 id_rsa.pub 下面有说)
收集所有需要登录的用户的公钥,就是他们自己的
id_rsa.pub文件,把所有公钥导入到
/home/git/.ssh/authorized_keys文件里,一行一个。
.ssh/authorized_keys没有可以创建
cat /home/git/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxp9D6qXoQLwbGr+dsISZTnOTV5WMG9PNc+gUDJSEZ3AfMPFrNwJKvqvtJKIK6rBOJHtdS/n1d7CuAvb8HacjI7srPlwPnsg7bWPebXfyvrTXHXOt2TSiedIuS3Om95SS1/ZFd6HzHsX6Fh9RujWZhxXqhsY7UEjfsMLcHGOSUe7/bpneCrP32nAvmBFhM46uFLzj+SqPdePCZHKCokYHYCUqg7mwGAfsP1BTdtgo8dTD5ll5frC/1MP1e7A/d7VVH/tkySEtT5uUeNXzQAzuh3/+JbFmM/4vLaCz655cFw+/bpQg5IK7IfM5eRoHIlCNilHLSvowy6QRyMRAIhm5+w==
249910820@qq.com
第四步,初始化Git仓库:
先选定一个目录作为Git仓库,假定是
/opt/sample.git,在
/opt目录下输入命令:
$ sudo git init --bare sample.git
Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以
.git结尾。然后,把owner改为
git:
$ sudo chown -R git:git sample.git
第五步,禁用shell登录:
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑
/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,
git用户可以正常通过ssh使用git,但无法登录shell,因为我们为
git用户指定的
git-shell每次一登录就自动退出。
第六步,克隆远程仓库:
现在,可以通过
git clone命令克隆远程仓库了,在各自的电脑上运行:
$ git clone git@server:/srv/sample.git Cloning into 'sample'... warning: You appear to have cloned an empty repository.
第七步:
要关联一个远程库
要关联一个远程库,使用命令
git remote add origin git@server-name:path/repo-name.git;
git
remote add origin git@192.168.23.128:/opt/sample.git
github常见操作和常见错误!错误提示:fatal:
remote origin already exists.
解决办法如下:
1、先输入$ git remote rm origin
此后,每次本地提交后,只要有必要,就可以使用命令
git push origin master推送最新修改
okkkkkkk!!!
添加文件试试
touch bao.txt
git add bao.txt
git commit -m 'tttt'
git push origin master 一起正常!!!!!1111
http://www.centoscn.com/image-text/install/2014/0514/2972.html
可以在线搭建 也可以本地搭建
在线搭建1.注册账户以及创建仓库
要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。网子:https://github.com/zhubin99
创建一个mytest
2.安装客户端msysgit
github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用msysgit,这个只是提供了git的核心功能,而且是基于命令行的。如果想要图形界面的话只要在msysgit的基础上安装TortoiseGit即可。装完msysgit后右键鼠标会多出一些选项来,在本地仓库里右键选择Git Init Here,会多出来一个.git文件夹,这就表示本地git创建成功。右键Git Bash进入git命令行,为了把本地的仓库传到github,还需要配置ssh key。
下载地址:
smartygit下载:
官方下载:http://www.syntevo.com/smartgit/download
msysgit下载:
官方下载:https://code.google.com/p/msysgit/downloads/list
百度网盘【最新版1.9.0】:http://pan.baidu.com/s/1liyU
http://www.centoscn.com/image-text/install/2014/0514/2972.html
3.配置Git
3.1首先在本地创建ssh key;
$ ssh-keygen -t rsa -C "your_email@youremail.com"
[/code]
后面的your_email@youremail.com改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。
3.2
回到github(https://github.com/zhubin99),点击右脚上的setting 进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是否成功,在git bash下输入:
$ ssh -T git@github.com
[/code]
如果是第一次的会提示是否continue,输入yes就会看到:You've successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
3.3
接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。
$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"
[/code]
3.4
获取Git配置信息,执行以下命令:
git config --list
3.5高亮显示
以下命令会为终端配置高亮git config --global color.status auto git config --global color.branch auto
3.6忽略特定的文件
可以配置Git忽略特定的文件或者是文件夹。这些配置都放在.gitignore文件中。这个文件可以存在于不同的文件夹中,可以包含不同的文件匹配模式。为了让Git忽略bin文件夹,在主目录下放置.gitignore文件,其中内容为bin。同时Git也提供了全局的配置,core.excludesfile。
3.7
使用.gitkeep来追踪空的文件夹
Git会忽略空的文件夹。如果你想版本控制包括空文件夹,根据惯例会在空文件夹下放置.gitkeep文件。其实对文件名没有特定的要求。一旦一个空文件夹下有文件后,这个文件夹就会在版本控制范围内。3.8 开始操作Git
后续将通过一个典型的Git工作流来学习。在这个过程中,你会创建一些文件、创建一个本地的Git仓库、提交你的文件到这个仓库中。这之后,你会克隆一个仓库、在仓库之间通过pull和push操作来交换代码的修改。注释(以#开头)解释了命令的具体含义,让我们打开命令行开始操作吧。进入要上传的仓库,右键git bash,添加远程地址:
$ git remote add origin git@github.com:yourName/yourRepo.git
[/code]
后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。
相关文章推荐
- 网络
- Android异步消息处理机制(4)AsyncTask源码解析
- MVC 定义JsonpResult实现跨域请求
- R语言-时间刻度的转换
- Audit Policy Recommendations
- 简单实现多线程数据共享
- 设计模式学习笔记十五:命令模式
- 链接属性和存储类型
- Linux系统磁盘管理基本知识
- 不带signed或unsigned关键字的char型 无符号数? 有符号数? C标准规定为 Implementation Defined !!!
- Effective C++——条款1和条款2(第1章)
- lesson2-java虚拟机之jvm结构
- GCD总结
- Tween动画
- CSS学习------之简单图片切换
- 大分享-hibernate,springmvc,easyui简要介绍
- C#解析HTML
- 图像处理形态学椭圆形模板结构元素的设计与实现
- find、sed、awk
- 读写锁