yiwai 发表于 2018-9-17 13:23:32

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

  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
  # 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 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

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