這篇會講在LINUX或是MAC(其實MAC也是LINUX的語法阿)下該怎用,當然這篇的指令在WINDOWS下的特殊模式下是也可以使用的,例如在POWERSHELL或是hithub的shell模式下
1.安裝git軟體
sudo apt-get install git-core git config --global user.name "davidou" git config --global user.email "davidou123@hotmail.com"
上面的davidou 跟email可換成你的 第一行是透過apt-get指令去安裝git的程式下來,(在mac上可以用homebrew 下 brew install git)
然後二三行就是設定你的姓名跟信箱,以後版本控制時,你寫的版本就會出現好方便團隊發現問題時知道是誰,並且聯絡你。
然後下面這行可打可不打,它可以讓你的畫面顏色變好看而已
git config --global color.ui true
然後再linux上面可以安裝GUI圖形介面,會比較好看 雖然也是可裝可不裝
sudo apt-get install gitg
這樣 你基本的git已經安裝好了,簡單吧! 就這樣 我們到此結束
2.把你的第一份專案檔案加入待git清單列去
好啦,安裝完總是要用嘛,這時候我們應該有一個資料夾是想要做版本控制的,例如我們剛成立的團隊,正準備要開一個專案資料夾來創造一番事業
所以你可以先下
mkdir myproject cd myproject git init
就是我們創一個myproject的資料夾,然後進去。git init 是讓git 在這資料夾下初始化,以後這個資料夾下的所有檔案跟子目錄通通都會被git所監控
touch README.txt git status git add README.txt git commit -m "First Commit"
我們在這個資料夾下創(touch)一個README.txt 當作我們專案的第一個示範檔案,當然以後你專案下的所有檔案,不管是php檔還是java檔啥的都可以git上去
git status是告訴你這個資料夾下,有多少的檔案是你修改過的、你需要加進去同步清單的,這時候你會發現有一個README.txt檔正準備被git
此時下git add 檔案名稱,就是讓我們這份檔案加入到 待同步git上去的清單裡面
你要是有多個檔案,就要下多次git add xxx檔(或是你其實可以很偷懶的一次下完如git add aaa.txt bbb.txt ccc.txt)
下完後 你還需要做一件是
告訴別人你這份檔案清單到底是改了甚麼,這樣以後人家才會知道這些版本到底是在幹嘛用的
所以要下git commit -m “你的註解放這邊,他也可以是中文”
這樣你就完成了你一份的git版本清單了
3.上傳到github去
因為github是採用ssh key驗證的,所以你要先下
ssh-keygen -t rsa -C "davidou123@hotmail.com" cat ~/.ssh/id_rsa.pub
裡面的信箱請改成你自己的,然後你會得到一串很長的ssh字串,把它複製下來
首先你必須要到github去創一個帳號,然後在右上帳號設定裡面(account setting)有一個ssh keys
按下add ssh key 在title那邊打你的敘述 如:我桌機的ssh key” 然後key那邊貼上你剛剛複製下來的ssh字串
之後回到你github的首頁去創一個專案目錄(create a new repo),然後在他那邊先新增一個專案 如gittest
然後你會發現他網頁上面會有一個輸入框寫著類似git@github.com:davidou123/gittest.git 這樣
好 我們回到我們的linux指令下
先別急著打
git remote add origin git@github.com:davidou123/gittest.git git push -u origin master
這邊的git@github.com:davidou123/gittest.git 是你剛剛從github那邊複製過來的,所以需要改
完成後 你就只需要在下
git push
他會幫你把你的檔案push到你的github上面
這樣就完成了
之後你只要會反覆的使用就可以了
git pull git add 檔案 git commit -m "註解" git push
這樣 結束
這邊附記一下一些基本的介紹
Git 指令:
add(新增檔案)
branch(分支)
clone(複製)
commit(記錄倉庫的改變)
diff(比較不同)
fetch(切換)
grep(搜尋字串)
init(建立新的倉庫)
log(記錄)
merge(合併)
mv(修改檔名、搬移目錄)
pull(更新)
push(上傳)
remote(維護遠端檔案)
reset(重設)
revert(資料還原)
rm(刪除檔案)
show(顯示)
stash(暫存)
status(狀態)
tag(標籤)
-d(還原已被刪除的檔案)
git log –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset’ –abbrev-commit –date=relative (看每次提交的comit版本過程)
這些只是些基本的介紹而已,先研究基本懂了才有辦法在看進階。
下面附上幾個網址可以當作進階的參考,然後你要是安裝時出現了錯誤,這邊也會有些排除的方法
http://blog.faq-book.com/?p=675
http://phpbb-tw.net/phpbb/viewtopic.php?t=53959
http://ihower.tw/git/intro.html 必看