• git 使用


    1. git init
    2.git status
    3.git add file(into stage) git add '*.txt'

    git reset file (unstage)
    git rm --cached <file>.. to unstage
    4.git commit -m "your comments"
    5.git log [--summary]
    6.git remote add origin https://github.com/try-git/try_git.git
    git remote add origin server:/dir/xxx.git
    7.git push -u origin master (-u rember the paramters. next time , just type git push) (git stash?)
    8. git diff HEAD (和最近一次提交的区别)
    9.git diff --staged(查看stage 区和工作区的不同)
    10.git checkout --<file> (-- 表示后面没有参数 会退到最后一次提交file 的时候)
    11.git checkout branchname (切换到某一分支)
    12.git checkout -b branchnaem (创建新分支并切换到分支)
    13.git rm '*.txt' (删除不必要的文件, 通常在分支中执行)
    git rm -r directory (递归删除文件夹)
    14.git merge branchname (合并分支, 当前处在master分支上)
    15.git branch -d [-f] branchname(合并完成后,可以删除分支了
    注意: -d 选项不允许删除未合并的分支 用-f 可解决)
    16.git branch -D branchname (-D 相当于 -d -f 的 结合强制删除)
    17.git push

    server 搭建

    1.安装python 工具 (为了安装 gitosis)

    apt-get install python-setuptools

    2. 下载gitosis (用于权限管理)

    git clone https://github.com/tv42/gitosis.git

    3.安装git

      sudo python setup.py install
    

    4.建立软链接(可选)

    ln -s /opt/git /home/git/repositories
    gitosis 默认的存库路径为/home/git/ 下, 而我们的仓库可能在其他路径(比如/opt/git/ ), 可以建立软链接

    5. 更改git用户登录shell

    切换到git 用户
    将 etc/passwd 文件下的
    git❌1000:1000::/home/git:/usr/bin/git-shell(git-shell 其他用户不能登录
    git❌1000:1000::/home/git:/bin/sh

    6.初始化gitosis

    sudo -H -u git gitosis-init < /tmp/id_dsa.pub
    Initialized empty Git repository in /opt/git/gitosis-admin.git/
    Reinitialized existing Git repository in /opt/git/gitosis-admin.git/

    gitosis 也是通过gitosis-admin 工程来管理 用户权限的,
    用此公钥初始化gitosis,只有公钥所对用的用户可以修改 gitosis-admin

    7.更改权限

    sudo chmod 755 /opt/git/gitosis-admin.git/hooks/post-update

    8.测试

    git clone git@gitserver:gitosis-admin.git
    cd gitosis-admin
    ./gitosis.conf :指定用户和权限
    ./keydir/scott.pub :存储用户的公钥,每个用户一个,以用户名命名
    修改完之后要push 后才生效

    tips

    1. git commit -am "comments"
      -a 的作用, 如果你不是通过git rm 删除文件(直接删除), 则还需要再用git rm 删除一次, 可以通过 -a 选项在提交时自动删除不存在的文件
    2. 合并冲突 (merge conflicts)
  • 相关阅读:
    C#设计模式-单例模式
    MVC图片上传并显示缩略图
    asp.net MVC发布iis无法加载css,js和图片
    Silverlight中获取控件中子控件
    Lambda加自定义比较器实现两个列表的合并
    MVC文件上传
    pt-osc测试
    MySQL DDL方案测试及选型.
    gh-ost测试
    gh-ost原理
  • 原文地址:https://www.cnblogs.com/fengyang66/p/6224286.html
Copyright © 2020-2023  润新知