天天看點

git日常使用

 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