|
yum install python-setuptools
1、创建git用户
useradd git && echo "123" | passwd --stdin git
2、创建仓库目录及赋于权限
mkdir /home/git/repositories
chown git:git /home/git/repositories
chmod 755 /home/git/repositories
3、获取并安装gitosis
cd /tmp
git clone https://github.com/res0nat0r/gitosis.git
cd gitosis
python setup.py install
4、配置 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、管理 gitosis
cd ~
git clone git@192.168.31.202:gitosis-admin.git
cd gitosis-admin
[root@CentOS6 gitosis-admin]# tree
.
├── gitosis.conf
└── keydir
├── root@CentOS6.5-2.pub
└── root@CentOS6.5-3.pub
root@CentOS6 gitosis-admin]# cat gitosis.conf
[gitosis]
[group gitosis-admin]
members = root@CentOS6.5-2
writable = gitosis-admin
[group mahjong_rw]
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 remote -v 查看远程库信息
git push origin master (推送分支,就是把该分支上所有本地提交推送到远程库。推送时要指定本地分支,这样,Git就会把该分支推送到远程库对就的远程分支上。)
git push origin dev (如要推送其它分支,如dev,则需改成这样)
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推送最新修改。
GIT分支——————————————
git checkout -b -b参数表示创建+切换到分支,相当于git branch && git checkout
git checkout -b dev origin/dev 创建远程origin的dev分支到本地,用此命令创建本地dev分支
git branch 查看分支 (git branch 命令会列出所有分支,当前分支前面会标一个*号)
git branch 创建分支
git branch --set-upsteam dev origin/ 指定本地dev分支与远程origin/分支的链接
git checkout 切换分支
git merge 合并某分区到当前分支
git branch -d 删除分支
git branch -D 强行删除(丢弃一个没有被合并过的分支)
当Git无法自动进行合并分支时,必须首先解决冲突。解决冲突后,再提交、合并完成
git log --graph --pretty=oneline --abbrev-commit 命令可以看到分支合并图
warning: LF will be replaced by CRLF in conf/xxxxxxx.xml.
-->git config --global core.autocrlf false
|
|
|
|
|
|
|