1. 安装 git
sudo apt-get install git
2. 创建一个git用户
用来运行git服务
sudo adduser git
3. 创建裸仓库
先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:
sudo git init --bare sample.git
Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
4. 改仓库项目文件夹owner为 git
sudo chown -R git:git sample.git
5. 本地克隆远程仓库
sudo git clone git@server:/srv/sample.git
6. 添加测试文件
sudo vi Readme.txt
7. git add
告诉Git,把文件添加到仓库
sudo git add Readme.txt
没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。
8. git commit
告诉Git,把文件提交到仓库
sudo git commit -m "wrote a Readme file"
9. 把本地库的所有内容推送到远程库
sudo git push -u origin master
更多 Git 资料: Git 教程, linux 中安装 Git 客户端
本地多个 remote 配置(同步推送到线上服务器)
1. 线上 git 更新版本
添加 git 源,并更新 git
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
2. 远程 git库初始化,并配置
git init
git config receive.denyCurrentBranch updateInstead
3. 本地添加远程地址
把本地的 ~/.ssh/id_rsa.pub
的内容导入到远程服务器的 ~/.ssh/authorized_keys
里(允许本地直接连接 git)
git remote add productionServer ssh://ubuntu@xxx.xxx.xxx.xxx/usr/share/nginx/git_dir
4. 本地创建productionServer分支
git checkout -b productionServer
5. 提交你本地操作到远程分支
1. 先提交到你本地服务器
git checkout master
touch test.html
git add .
git commit -m "add file : test.html"
git push origin master
2. 把本地 master 分支提交的信息 rebase 到 productionServer 分支,并 push 到远程服务器 master 分支
git checkout productionServer
git rebase master
git log
git push productionServer master