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)
原文地址:https://www.cnblogs.com/fengyang66/p/6224286.html