廣告

2015年3月28日 星期六

[git] 基本git使用 tutirial 1 (add, commit, push, pull)

由於最近我們team的版本控管要從SVN轉為git,
所以想說寫個基本的git的筆記,
之前都是用github的gui所以對一些commamd還不太熟,
雖然eclipse也支援git的功能,
不過還是練習一下command吧!!

但礙於公司規定所以每晚還是要將git
同步到svn,真是辛苦fai大了!

我們這邊使用的server為gitlab。

首先我們先在gitLab上創一個空的project,
(當然你也可以在本機創好在push上去,會這樣
做是因為gitlab有提供語法XD)



































git 與 svn最大不同在於
svn是直接commit到server端,
並且本機不會有其他版本的資訊,

git則是每次commit都是先到自己的本機,
再用push送到server,所以本機會有自己完整
的版本資訊,

其實我還是喜歡用svn的,
自己以前還直接在研究室的電腦架svn server XD,

進入正題:

設定個人資訊:
可以用以下指令查看,
git config --list

user.name=lewisli
user.email=lewisli.acer@gmail.com
又或者是到 .gitconfig中察看,

設定個人資訊
git config --global user.name "lewisli"
git config --global user.email "lewisli.acer@gmail.com"

當然也可以針對此目錄設定local的個人資訊。
http://lewisli1.blogspot.tw/2015/03/git-specify-multiple-users-user-local.html
接著輸入以下指令
用來建立此目錄的git設定檔與gitlab的連結,
mkdir gitTutorial
cd gitTutorial
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin http://XXX.xxx.xxx.xxx:7070/lewisli/gitTutorial.git
git push -u origin master

-m的意思是說 要加入message(版本控管 log很重要阿)
其他可用 git commit -h 自己看


































如此成功上傳了
可用
git log --stat
git log -p 
來查看commit資訊


clone git server上面的專案
git clone http://XXX.xxx.xxx.xxx:7070/lewisli/gitTutorial.git

通常一個project會有一些不需commit的檔案,
所以可以在.gitignore做設定,
git會去讀這個檔案來知道哪些檔案不需要上傳,
參考
http://lewisli1.blogspot.tw/2015/03/git-gitingore-white-list.html


===================================================

注意1:clone與github上的fork是不同的
詳見:
http://luckyyang.github.io/blog/2013/03/23/fork-you-github/
http://site.douban.com/196781/widget/notes/12161495/note/269163206/

注意2:clone,pull , fecth 是不同的
詳見:
http://blog.mikepearce.net/2010/05/18/the-difference-between-git-pull-git-fetch-and-git-clone-and-git-rebase/

沒有留言:

張貼留言