rtre 发表于 2015-9-25 08:51:57

git 服务器搭建及一些命令说明

yum install python-setuptools


1、useradd git && echo "123" | passwd --stdin git
2、
mkdir /home/git/repositories
chown git:git /home/git/repositories
chmod 755 /home/git/repositories

3、get and install gitosis
cd /tmp
git clone https://github.com/res0nat0r/gitosis.git
cd gitosis
python setup.py install

4、config gitosis
cp ~/.ssh/id_rsa.pub /tmp
sudo -H -u git gitosis-init < /tmp/id_rsa.pub
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

5、manager gitosis
cd ~
git clone git@192.168.31.202:gitosis-admin.git
cd gitosis-admin

# tree
.
├── gitosis.conf
└── keydir
    ├── root@CentOS6.5-2.pub
    └── root@CentOS6.5-3.pub


root@CentOS6 gitosis-admin]# cat gitosis.conf



members = root@CentOS6.5-2
writable = gitosis-admin


members = root@CentOS6.5-3
writable = mahjong

注:keydir目前下放用户公钥 gitosis.conf文件是设置组、组成员及对仓库的读写权限


git add *
git commit -am "add mahjong and root@CentOS6.5-3.pub user"
git push origin master



创建仓库:
su - git
cd repositories/
git init --bare mahjong.git

git clone git@gitsrv:mahjong.git 克隆一个仓库
git push

git pull

git reset --hard HEAD^(在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。)

git checkout -- file 可以丢弃工作区的修改,命令中的 -- 很重要,没有--,就变成了"切换到另一个分支"的命令
git reset HEAD file 可以把暂存区的修改撤销掉(unstage),重新放回工作区


git rm 用于删除一个文件.如果一个文件已经被提交到版本库,那么你永远不用担心被误删,但是要注意,你只能恢复文件到最新版本(git checkout -- file),你会丢失最近一次提交后你修改的内容。

git remote add origin git@server:path/repo_name.git 关联一个远程库,关联后使用命令git push -u origin master第一次推送master分支的所有内容。此后,每次本地提交后、只要有必要就可以使用命令git push origin master推送最新修改。

页: [1]
查看完整版本: git 服务器搭建及一些命令说明