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 [email protected]:gitosis-admin.git

cd gitosis-admin


[root@CentOS6 gitosis-admin]# tree

.

├── gitosis.conf

└── keydir

    ├── [email protected]

    └── [email protected]



root@CentOS6 gitosis-admin]# cat gitosis.conf 

[gitosis]


[group gitosis-admin]

members = [email protected]

writable = gitosis-admin


[group mahjong_rw]

members = [email protected]

writable = mahjong


注:keydir目前下放用戶公鑰 gitosis.conf文件是設置組、組成員及對倉庫的讀寫權限



git add *

git commit -am "add mahjong and [email protected] 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 <name>  -b參數表示創建+切換到<name>分支,相當於git branch <name> && git checkout <name>

git checkout -b dev origin/dev 創建遠程origin的dev分支到本地,用此命令創建本地dev分支

git branch   查看分支 (git branch 命令會列出所有分支,當前分支前面會標一個*號)

git branch <name>  創建分支

git branch --set-upsteam dev origin/<branch> 指定本地dev分支與遠程origin/<branch>分支的鏈接

git checkout <name> 切換分支

git merge <name> 合併某分區到當前分支

git branch -d <name> 刪除分支

git branch -D <name> 強行刪除(丟棄一個沒有被合併過的分支)


當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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章