git安装
- 新系统先更新apt-get :
sudo apt-get update
- 然后安装git:
sudo apt-get install git
新建仓库
- 任选一个目录作为git仓库位置,如
gitRepo/sw
(这里可以替换成你的用户名) - 进入仓库目录:
cd gitRepo/sw
- 新建仓库:
mkdir ch1.git
,这里可以改成你的项目名称 - 初始化一个裸仓库:
git --bare init
, 查看一下内容,出现一下文件就说明ok了:HEAD config hooks objects branches description info refs
新建用户
如果需要新的用户来管理这个仓库
- 使用
useradd -d 用户主目录 用户名
新建用户, - 然后
passwd 用户名
设置密码,这个下面要用到 - 修改仓库文件的拥有者,是的从本地推送代码上去后具有写入权限:
chown -R ch1.git
连接客户端本地仓库
- 进入本地代码的主目录,初始化仓库:
git init
- 建一个小文件测试下:
-
touch 'readme.md'
新建文件 -
echo 'hello' > readme.md
添加一点内容 -
git add -A
,git commit -m 'init'
把内容加载到本地仓库。
-
- 连接远程仓库:
git remote add origin sw@11.11.11.11:/gitRepo/sw/ch1.git
。origin
是远程仓库的名称,sw@11.11.11.11:/gitRepo/sw/ch1.git
这部分是远程仓库的地址,分成3各部分:-
sw
这个是服务器的用户名 -
11.11.11.11
这里是服务器的公网ip -
/gitRepo/sw/ch1.git
这个是前面一步建立的仓库的在服务器上的绝对路径 - 注意ip后面还有一个冒号
-
- 推送本地代码到服务器:
git push origin master
,git init
之后初始化默认创建的master
分支,现在就是把本地的master
分支内容推送到名为origin
指定的远程仓库。- 这时会询问密码,就是服务器的用户的密码
- 如果希望多人合作开发,那么这个仓库需要多用户可以读写,那么可以使用用户组:
chgrp -R ch1.git 用户组名称
指定仓库的用户组,然后修改仓库目录的读写权限,让用户组的用户都可以读写:chmod -R g=rw ch1.git
,最后把具有开发读写权限的用户都归到这个用户组。
测试拉取代码
上一步push成功后,内容已经到服务器了,现在测试拉取代码,在一个新的文件夹里:git clone sw@11.11.11.11:/gitRepo/sw/ch1.git
。这里仓库地址是一个同样的格式,只是你还可以切换成其他用户,只要是可以访问这个仓库的服务器用户。
如果加了多用户读写,现在可以把clone下来的文件稍微修改,再push回去,再到另一个本地仓库pull查看。如果另一个本地代码同步了修改,那么流程就通了。