1.安裝Git
yum install git git-daemon
2.生成SSH公鑰
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
測試登陸 ssh localhost:
$ ssh localhost
正常情況下會登陸成功
調試步驟
配置登陸失敗了,按照以上步驟依舊提示要輸入密碼。用ssh -v 顯示詳細的登陸資訊查找原因:
$ ssh -v localhost
修改檔案authorized_keys的權限
$ chmod 600 ~/.ssh/authorized_keys
3.建立Git使用者
useradd git
passwd git
4.初始化倉庫
$ cd /home/git/
$ mkdir project.git
$ chown git:git /home/git
$ cd project.git
$ git --bare init
5.在工作機上送出首個檔案
cd myproject
git init
touch README
git add .
git commit -m 'initial commit'
git remote add origin [email protected]:/home/git/project.git
git push origin master
6.在某目錄克隆項目
cd /home/gittest
git clone git://[email protected]:/home/git/project.git
GIT常用指令
初始化:
添加目前目錄所有内容:
檢視狀态:
git status
添加commit:
git commit -am "first commit."
版本對比:
git diff
檢視曆史記錄:
git log
看一下每一次版本的大緻變動情況,可以使用
git log –stat –summary
用git show指令檢視
$ git show dfb02e6e4f2f7b573337763e5c0013802e39281
此方法可能使用的時候感覺特别的麻煩,其實可以用另外一種友善的方法.
$ git show dfb02 # 一般隻使用版本号的前幾個字元即可
$ git show HEAD # 顯示目前分支的最新版本的更新細
分支操作
檢視分支:$ git branch
建立分支:$ git branch 分支名稱 (注意:請不要在服務端建立分支)
切換分支:$ git checkout 分支名稱
删除分支:$ git branch -d 分支名稱
加入伺服器
git remote add 使用者名@計算機名或IP:~/某個目錄
推送資料
git push master master #本地master推送到遠端master
如果想快捷的使用git push就推送到預設遠端分支master,可以做個一次性設定:
git remote add origin <實際的ssl使用者名>@<IP位址>:<Git在遠端的path>
做完以上設定,以後直接使用git push 就會自動推送到上述設定位址了,但如果要推送到其他分支,還是需要加參數的,這個設定隻是相當于一個預設參數而已。
接收資料
git pull origin master
如果想直接使用git pull直接接收,同樣需要提前做一個一次性設定(同樣也是不能應用多分支pull情況):
git branch --set-upstream master origin/master
本地庫設定個人姓名和郵件
git config --global user.name "你的姓名,最好由沒有符合和空格的英文字母組成"
git config --global user.email <郵件名>@<郵箱服務商字尾>
如果不設定個人資訊,送出的資訊将不會有更改者資訊,這樣會加大項目管理的難度。
#回退所有内容到上一個版本
git reset HEAD^
#回退a.py這個檔案的版本到上一個版本
git reset HEAD^ a.py
#向前回退到第3個版本
git reset –soft HEAD~3
#将本地的狀态回退到和遠端的一樣
git reset –hard origin/master
#回退到某個版本
git reset 057d
#回退到上一次送出的狀态,按照某一次的commit完全反向的進行一次commit
git revert HEAD
#建立old_master分支做備份
git branch old_master
#push到遠端
git push origin old_master:old_master
#本地倉庫回退到某個版本
git reset –hard bae168
#删除遠端的master分支
git push origin :master
#重新建立master分支
推送檔案
cd /data/hometest
git add –A .
git commit –m “test”
更新檔案
cd /home/data/home/test
git pull
簽出版本
git checkout -f
本文轉自 ppabc 51CTO部落格,原文連結:http://blog.51cto.com/ppabc/1004914