一、申请一个免费云服务器,本文以此服务器为例,创建用户Git,用来管理运行Git服务
$useradd git
二、配置无密码SSH登陆
用命令:ssh-keygen -t rsa -b 4096 -C “comment to identify the key” 生成密钥
完成之后,在.ssh目录下,我们可以看到id_rsa和id_rsa.pub文件,id_rsa.pub为公钥,我们通过命令scp将id_rsa.pub拷贝到Git服务器上。
在Git服务器上我们首先查看/home/git/.ssh目录下是否存在authorized_keys文件,如果没有,可以通过touch authorized_keys创建此文件。
authorized_keys创建完成后,将拷贝过来的公钥id_rsa.pub的内容追加到authorized_keys中,注意是追加到此文件中,可以使用命令
$cat id_rsa.pub >> /home/git/.ssh/authorized_keys
完成后,我们就可以使用命令ssh Git服务器即可完成无密码登陆。
三、安装Git
1、通过命令yum install git,安装Git
四、建立Git仓库的存储目录
mkdir -p /git/gramess.git
chown -R git:git /git
五、添加Git提交用户
git config --global user.name "ming"
git config --global user.email "ming@ming.com"
六、初始化服务器端仓库
初始化Git仓库
cd /git/gramess.git
git init
添加新文件
echo readme > README
将所有新增文件加入到
git add -A
提交所有文件
git commit -m "init"
添加远程服务器地址
git remote add origin ssh://git@192.168.10.8/git/ming.git
将本地git代码同步到服务器master分支中
git push origin master
chown -R git:git /git
通过以上的步骤我们就完成了git服务器的搭建,完成搭建后,我们需要了解一下与git服务器交互过程中所用到命令
主要命令有git clone、git remote、git fetch、git pull、git push等
如遇到不能推送到远端请在远端git仓库的 .git/config 文件末尾添加
[receive]
denyCurrentBranch = ignore
附:
1、将本地git代码同步到服务器master分支中
git push origin master
如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略(将当前分支推送到origin主机的对应分支)
git push origin
还有一种情况,就是不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机,这时需要使用–all选项(将所有本地分支都推送到origin主机)
git push --all origin
2、从服务器上克隆一份完整、最新的源代码
git clone ssh://git@192.168.10.8/git/ming.git ming.me
执行该命令可将服务器端的代码同步到本地。
当其他同时上传代码到服务器后,我们必须使用git pull命令将服务器上的代码同步到本地。
当我们准备提交代码时,必须先执行git pull命令
git pull # 服务器端的代码同步到本地
其他命令
切换到某个分支
git checkout develop
创建新分支并切换到該分支
git checkout -b develop
将本地develop分支推送到远端
git push --set-upstream origin develop
或者使用
git push origin develop
查看当前所在的分支
git branch
查看当前所在的分支包括远程分支
git branch -a
查看远程分支
git branch -r
删除某个远程分支
git push origin --delete [branch_name]
检出远程分支
git checkout orgin/[branch_name]
撤回 commit 或者回滚到某个版本
git commit --soft HEAD #撤销提交 撤销提交后代码会回到 git add 状态
git commit --hard HEAD #代码回滚
————————————————