GIT学习以及GIT服务器的搭建

         因为实验室项目组的需要,小老板让用之前闲置的服务器搭建一个GIT服务器来管理项目中的代码,于是开始学习了GIT的基础知识和搭建GIT,主要是参考了廖雪峰老师的教程:廖雪峰GIT教程;对于入门和基础的使用是很全面的一个教程。

一. 基础知识的总结

sudo apt install git  #安装git

mkdir git_test

cd git_test

git init #在创建的文件夹中初始化Git管理的仓库

touch readme.txt #创建一个文件,并对其加入内容

git status  #可以查看git对readme.txt文件的描述,该文件在工作区

git add readme.txt  #把文件添加到暂缓区

git commit -m "the readme file"  #把文件添加到本地git的分支之中

通过上面的这些指令,就是把文件添加到了Git仓库中。

git log #查看历史记录

git log --pretty==oneline #比较精简的显示

git resent --hard HEAD^   #回归到上一次的修改,或者HEAD^可以使用commit_id来取代

git reflog #退回到了旧版之后,又想回到新版本,通过这个查找之前新版本的commit_id

git diff readme.txt  #查看工作区中的readme文件与仓库中的文件区别

git checkout -- readme.txt #把工作区的修改进行撤销,回到暂存区或者版本库的文件状态

git rm -- readme.txt 把仓库中的文件删除了

通过上面的指令,对工作区,暂存区和仓库中的文件进行一些基本常用的操作。如何使用公开的GitHub远程库,就直接看廖雪峰老师的教程好了。

git checkout -b dev #创建一个名字为dev的分支,并且当前的分支也是dev

git branch #查看所有的分支

git branch user1 #创建user1分支

git checkout user1 #切换到user1分支

git merge dev #在master分支下,对dev分支进行融合

git branch -d dev #删除分支

通过上面的指令,对git中的分支进行了操作,多人协作时以及bug处理时,都应该在不同的分支之上进行处理,然后对分支进行融合即可。

二.Git服务器的搭建

其实Git服务器的搭建还是挺简单的,主要步骤如下:

sudo adduser git_server #创建一个用户,来管理git仓库

收集需要登陆用户的ssh公钥,在用户目录下的.ssh/id_rsa中,然后把它们导入到/home/git/.ssh/authorized_keys 文件之中。生成密钥和公钥的指令为:ssh-keygen -t rsa;拷贝到目标机器的指令:ssh-copy-id git_server@192.168.***.***。

mkdir SLAM #在git_server用户下进行操作,新建一个文件夹SLAM

cd SLAM

git init --bare gitslam.git #初始化这个裸仓,裸仓是没有工作区的仓库,安全着想

chmod -R 777 ../SLAM/* #对该文件进行修改权限

基本上Git服务器就搭建好了,可以进行操作了,其实还是很简单的。

还有一些设置,比如不然用户直接用ssh登入到bash界面,只让ssh链接就行:

vim /etc/passwd  #打开该文件
把 git_server:x:1001:1001:,,,:/home/git_server:/bin/bash
改成 git_server:x:1001:1001:,,,:/home/git_server:/usr/bin/git-shell

接着就能够在客户端使用git clone; git push origin master 等操作了。

接下里就是去学习一下Gitolite的操作了,用来管理用户。

三.遇到的小问题

又是ssh的问题,经常能遇到ssh的问题;在客户端ssh链接服务器时,出现ermission denied, please try again,但是密码是正确的,后来经过排错,应该是ssh的config问题。主要参考了:shh连接问题

1. 打开 /etc/ssh /sshd_config文件,确定其中的PermitRotLogin yes 和 PasswordAuthentiation yes 都是yes的,然后/etc/init.d/ssh start 重启ssh服务。

2.netstat -anp |grep sshd 查看shhd是否正确运行,如果不正常,则service sshd restart 来重启服务

我的问题在第一小点中解决了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值