搭建本地服务器

一、搭建本地服务器

1、在ubuntu上安装ssh

 apt-get install openssh-server

2、安装git服务器

apt-get install git-core

3、创建用户git,用来管理运行git服务

adduser git

设置密码


4、创建一个空的仓库(仓库目录为:/home/yue/work0615/gitserver/gitServer/newgit/

git --bare init 

创建一个所谓的裸仓库,之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,如果你硬要操作的话,只会得到下面的错误(”This operation must be run in a work tree”)


5、测试和提交文件到服务器

cd  /home/yue/work0615/gitserver/gitServer/testgit

git clone [email protected]:/home/yue/work0615/gitserver/gitServer/newgit/


6、提交文件、添加注释、提交到本地服务器

git add .

git commit -m "测试1"

git push origin master  (输入ubuntu git 用户密码)


7、git在push的时候出现insufficient permission for adding an object错误

Counting objects: 3, done.
Writing objects: 100% (3/3), 238 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: error: insufficient permission for adding an object to repository databa                                                                                        se ./objects
remote: fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit
To [email protected]:/home/yue/work0615/gitserver/gitServer/newgit/
 ! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to '[email protected]:/home/yue/work0615/gitserver/gitServer/newgit/'                                               

原因:
git库权限的问题
$ ls -la,查看git库的所有者

解决:
在git库目录下:
$sudo chown -R git:git git库


二、将本地仓库服务器代码提交到远程服务器

1、注册一个github账号


2、新一个工程


3、创建本地空仓库

git init 

4、添加文件

git add .

5、添加注释

git commit -m "xxx"

6、设置远程服务器路径

git remote add origin https://github.com/rihuiwangxun/test.git
查看服务器地址 git remote -v


7、提交代码到远程服务器

git push -u origin master   (设置账号和密码)

8、修改远程仓库路径

先删后加

git remote rm origin
git remote add origin [url]

9、版本回退
git log命令显示从最近到最远的提交日志:信息如下
root@yue-virtual-machine:/home/yue/work0615/test/demoSql# git log
commit c19a061a17a407b2dd4b09a9012637b6e895dbec
Author: root 
Date:   Wed Mar 29 15:55:46 2017 +0800


    添加测试接口


commit a1d7250d5ae2965d9dc3210cfbdd45cfc2c4927b
Author: root 
Date:   Wed Mar 29 15:49:26 2017 +0800


    初始化版本1

commit a1d7250d5ae2965d9dc3210cfbdd45cfc2c4927b  表示commit版本号

回退上一个版本:
root@yue-virtual-machine:/home/yue/work0615/test/demoSql# git reset --hard HEAD^                                                         HEAD is now at a1d7250 初始化版本1

 
  

回退到指定版本
git reset --hard a1d7250
Git提供了一个命令git reflog用来记录你的每一次命令
10、回退版本提交到服务器
 
  
  注: 回退版本只能在本地回退,不能在服务器仓库回退
  回退后的版本提交并更新服务器命令:
  git push -f -u origin master
 
  
 
   
  
 
  

 
  
 
  
 
  
 
 

你可能感兴趣的:(linux系统)