jarod8016b 发表于 2018-9-18 10:06:45

git 的简单应用

  利用git管理web的发布目录代码更新
  web启动用户为www-data,发布目录/var/www/ezpub,所属主组为www-data
  系统为ubuntu 10.04
  首先安装git服务 apt-get install git-core gitosis
  设置www-data用户密码 为eztest
  切换到www-data用户
  su - www-data && cd /var/www/ezpub
  git init .
  git config receive.denyCurrentBranch ignore && git config --bool receive.denyNonFastForwards false
  cd .git/hooks&& wget http://utsl.gen.nz/git/post-update && chmod +x post-update
  git add .                #添加所有文件
  git commit-am "init"
  这样一个简单的版本库就建好了,clone地址为 ssh://www-data@SERVER_IP/var/www/ezpub
  客户端使用
  git clone ssh://www-data@SERVER_IP/var/www/ezpub
  建立过滤规则,在发布目录下建立.gitignore文件
  vi /var/www/ezpub/.gitignore
  /var/                #过滤文件夹
  /update/
  /support/
  *.zip                #过滤zip,tar.gz类型文件
  *.tar.gz
  /test/a.sh      #过滤某个文件
  !*.html            #不过滤某类文件
  git常用的命令
  status 查看当前哪些文件做了修改
  pull   从远程版本库取数据,更新本地库为最新
  add添加文件到索引中
  新建或修改文件后添加到索引中,如新建了文件 test.php
  git add test.php   添加单个文件
  git add test2 test3 添加两个文件
  git add *.txt添加所有的txt文件
  git add .添加所有文件,包含子目录,但不包含排除的目录。
  reset重置索引内容一般用在git add(或rm)之后。
  git reset HEAD test   撤销git add test的索引
  checkout 撤销尚未提交的更改 回复到文件未改之前状态,一般用在add 之前
  git checkout -- test撤销对test文件的修改
  rm    从索引中删除文件
  git rm test
  commit 提交更改的记录
  git commit -m "touch a new test.php"-m参数是为修改的记录添加标记
  git commit -am "some msg"   -a参数为提交所有更改
  git commit -m " rm test"
  push提交到远程管理库
  git push origin master提交到远程的master库
  diff查看区别
  git diff查看working tree与index file的差别的
  git diff --cached 是查看index file与commit的差别的
  git diff HEAD是查看working tree和commit的差别的
  log 查看提交日志
  branch 查看当前是哪个分支

页: [1]
查看完整版本: git 的简单应用