码迷,mamicode.com
首页 > 其他好文 > 详细

Git服务器搭建与使用教程

时间:2018-02-22 19:26:33      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:提示   rest   不同的   自己   details   嵌入式linux   文件上传   too   压缩包   

Git服务器搭建与使用教程

参考:

1.廖雪峰的官方网站(很系统的git教程)

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

2. https://www.linuxidc.com/Linux/2017-01/139457.htm

3. http://blog.csdn.net/sinat_33366020/article/details/73732769

 

由于项目开发的规模和复杂度越来越大,有时候需要同时多人在不同的嵌入式linux上开发代码,在没有用git管理时的解决办法:

(1)手动将嵌入式linux上的工程代码压包拷贝到本地电脑进行编辑,然后将改好的代码再拷贝回去解压;

(2)用ssh远程登录到嵌入式linux,在线编辑代码。

 

缺点总结:

拷贝压缩包的方法很不方便,往往在嵌入式linux和本地电脑上留下很多中间压缩包,有时候都不记得改动过的地方对应哪个压缩包了,很不利于代码版本管理与数据备份;ssh远程登录在线编辑代码的方法很不稳定,一旦网络不稳定,编辑立马中断,恢复起来很麻烦,同时要编辑多个文件时就更不方便了;于是痛定思痛,必须得把git代码版本管理工具用起来,培养规范、标准化的开发素养。教程内容分为两部分:git服务器搭建,git客户端使用。

 

一、git服务器搭建

手里刚好有一块闲置的树莓派3,于是准备在上边搭建git服务器,git服务器的软硬件环境如下:

硬件:树莓派3

系统:ubuntu-mate-16.04

所需软件:openssh-server openssh-client  python-setuptools  git

1.树莓派3安装ubuntu-mate-16.04系统

默认大家都已经在树莓派3上安装好了ubuntu-mate-16.04系统,如果没有请参考以下教程自行安装:

ubuntu mate 16.04镜像文件下载地址:https://ubuntu-mate.org/download/

安装参考教程:http://www.ncnynl.com/archives/201606/201.html

2.安装git、ssh等软件 

$ sudo apt-get install git openssh-server openssh-client  python-setuptools

3.新增用户(用户名为slamgit),用于运行git服务,回车后会提示输入密码

$ sudo adduser slamgit

4. 初始化git仓库

$ mkdir /home/slamgit/code  #这个目录用于专门存放代码

$ cd /home/slamgit/code

$ git init --bare test.git  #注意:加上--bare参数后,服务端是初始化的[裸仓库]一般服务器上的Git仓库都是以.git结尾的裸仓库。

裸仓库没有工作区,因为服务器上的git仓库是为了共享用,不能让用户直接登录到服务器上去修改工作区中的代码,用裸仓库更加安全

 

现在服务器上面的git仓库已经初始化完成,那接下来配置哪些用户可以登录到git服务器,进行git相关操作。

5.git服务器用户登录的配置

去需要登录的git客户端电脑上,生成公钥:

$ ssh-keygen -t rsa

$ cd ~/.ssh/

$ scp id_rsa.pub slamgit@192.168.2.219:/home/slamgit/ #将公钥远程拷贝到git服务器

继续回到git服务器上:

$ cd /home/slamgit/

$ mkdir .ssh

$ cat id_rsa.pub >> .ssh/authorized_keys #将远程拷贝过来的公钥添加到认证文件中

$ chown -R slamgit:slamgit /home/slamgit #修改所有者为slamgit用户

#修改以下目录权限

$ chmod 755 /home/slamgit

$ chmod 700 .ssh

$ chmod 600 .ssh/authorized_keys

#修改ssh配置文件/etc/ssh/sshd_config,取消这行 AuthorizedKeysFile    %h/.ssh/authorized_keys 前面的注释

#重启ssh

$ sudo service ssh restart

#为了安全禁止git用户shell登录,需要修改/etc/passwd

将git:x:1001:1001:,,,:/home/git:/bin/bash

改为git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

6.测试git服务器搭建是否成功

去git客户端电脑上,clone刚才创建的test.git

$ git clone slamgit@192.168.2.219:/home/slamgit/code/test.git

如果在git客户端电脑上出现了test这个文件夹,就说明搭建成功了!!!

 

二、将本地文件上传到git服务器

在git客户端电脑上:

$ mkdir test.git   

$ cd test.git   

$ git init   

$ echo "this is a test text file,will push to server" > hello.txt   

$ git add .   

$ git commit -m "init a base version,add a first file for push to server"   

$ git remote add origin slamgit@192.168.2.219:/home/slamgit/code/test.git   

$ git push origin master

 

1.(先进入项目文件夹)通过命令 gitinit 把这个目录变成git可以管理的仓库

$ git init

2.把文件添加到本地版本库中,使用命令git add 文件;添加到暂存区里面去,如果后面接小数点“.”,意为添加文件夹下的所有文件

$ git add .

3.用命令git commit告诉Git,把文件提交到仓库,引号内为提交说明

$ git commit –m "init a base version,add a first file for push to server"

这一步会报fatal的错误,需要执行如下命令设置自己的用户名与email:

$ git config --global user.name "zhang **"    

$ git config --global user.email "******@163.com"

4.关联到远程库

$ git remote add origin 你的远程库地址

如:git remote add origin git@192.168.31.130:/srv/sample.git

如果上面步骤写错了:则

      git remote rm origin   //删除origin

      git remote add origin git@git.oschina.net:yourname/demo.git   //重新添加origin

5.获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)

$ git pull --rebase origin master

6.将最新的修改推送到远程仓库

$ gitpush -u origin master #其中origin:远程仓库名字;master:分支

 

三、下一步的工作 

继续学习git的高级功能:

1.版本管理

版本回退

工作区和缓存区

管理修改

撤销修改

删除文件

2.分支管理

创建与合并分支

解决冲突

分支管理策略

Bug分支

Feature分支

多人协作

3.标签管理

创建标签

操作标签

Git服务器搭建与使用教程

标签:提示   rest   不同的   自己   details   嵌入式linux   文件上传   too   压缩包   

原文地址:https://www.cnblogs.com/hiram-zhang/p/8459453.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!