天天看點

git使用

前提:定位到自己的要準備建立倉庫的檔案夾中

git init與git init --bare的差別

git init 初始化倉庫會包含.git檔案夾,而--bare則不會

git常用指令

1、

git init

初始化倉庫

2、

git status

檢視倉庫各檔案的狀态資訊

3、撤銷commit的檔案

git log

顯示commit日志

git使用

然後使用圖檔中的commit值(這是哈希值)

git使用

5、

git remote

查詢遠端倉庫,也可以加上 -v選項(譯注:此為 --verbose的簡寫,取首字母),顯示對應的克隆位址:

添加遠端倉庫

要添加一個新的遠端倉庫,可以指定一個簡單的名字,以便将來引用,運作 git remote add [shortname] [url]:

git使用

從遠端倉庫抓取資料

$ git fetch [remote-name]

此指令會到遠端倉庫中拉取所有你本地倉庫中還沒有的資料。運作完成後,你就可以在本地通路該遠端倉庫中的所有分支,将其中某個分支合并到本地,或者隻是取出某個分支,一探究竟。(我們會在第三章詳細讨論關于分支的概念和操作。)

如果是克隆了一個倉庫,此指令會自動将遠端倉庫歸于 mglue 名下。是以,git fetch mglue會抓取從你上次克隆以來别人上傳到此遠端倉庫中的所有更新(或是上次 fetch 以來别人送出的更新)。有一點很重要,需要記住,fetch 指令隻是将遠端的資料拉到本地倉庫,并不自動合并到目前工作分支,隻有當你确實準備好了,才能手工合并。

如果設定了某個分支用于跟蹤某個遠端倉庫的分支(參見下節及第三章的内容),可以使用 git pull指令自動抓取資料下來,然後将遠端分支自動合并到本地倉庫中目前分支。在日常工作中我們經常這麼用,既快且好。實際上,預設情況下 git clone

指令本質上就是自動建立了本地的 master 分支用于跟蹤遠端倉庫中的 master 分支(假設遠端倉庫确實有 master 分支)。是以一般我們運作 git pull

,目的都是要從原始克隆的遠端倉庫中抓取資料後,合并到工作目錄中的目前分支。

推送資料到遠端倉庫

項目進行到一個階段,要同别人分享目前的成果,可以将本地倉庫中的資料推送到遠端倉庫。實作這個任務的指令很簡單:git push [remote-name] [branch-name]

。如果要把本地的 master 分支推送到 origin

伺服器上(再次說明下,克隆操作會自動使用預設的 master 和 origin 名字),可以運作下面的指令:

$ git push mgl master

隻有在所克隆的伺服器上有寫權限,或者同一時刻沒有其他人在推資料,這條指令才會如期完成任務。如果在你推資料前,已經有其他人推送了若幹更新,那你的推送操作就會被駁回。你必須先把他們的更新抓取到本地,合并到自己的項目中,然後才可以再次推送。有關推送資料到遠端倉庫的詳細内容見第三章。

git建立伺服器端

1、先将密鑰儲存在/root/.ssh/authorized_keys

2、建立裸倉庫,我的建立在/var/www/html/test.git

git init --bare

用戶端就可以推送了

1、建立遠端位址

git使用

注意:絕對路徑

2、開始推送

git使用

忽略已經送出的檔案

在目前git項目下建立

.gitignore

檔案,然後寫上你要忽略的檔案或檔案夾.例如

git使用
git rm -r --cached . #删除追蹤狀态
git add . 
git commit -m "fixed untracked files"