Ads 468x60px

##EasyReadMore##

03 8月, 2015

git 基本流程指令教學

Git是用於Linux內核開發的版本控制工具。與CVS、Subversion一類的集中式版本控制工具不同,它採用了分布式版本庫的作法,不需要伺服器端軟體,就可以運作版本控制,使得原始碼的釋出和交流極其方便。Git的速度很快,這對於諸如Linux內核這樣的大專案來說自然很重要。Git最為出色的是它的合併追蹤(merge tracing)能力。
https://zh.wikipedia.org/wiki/Git

Git和Subversion的命令比較表(其實與 svn 差不多)
http://backlogtool.com/git-guide/tw/reference/git-svn.html#sec1


使用 windows 的看這邊 : (TortoiesGit)
    因為圖多就請參考別人寫的無痛教學
    http://backlogtool.com/git-guide/tw/intro/intro2_1.html

    推送時的設定
    在 URL 埴入 git@172.20.93.193:/var/cache/git/"project".git 即可 //project name 需自行更改

    基本上入門篇就足以應付我們現在的需求了
    有興趣的可以看一下進階篇


使用 linux 的看這邊:
    產生 SSH 公鑰:(就不用每次上傳詢問密碼)
    ssh-keygen -t rsa
    cd .ssh/
    mv id_rsa.pub id_rsa_"name".pub
    scp id_rsa_"name".pub "name"@172.20.93.193:/home/"name"
    cat /tmp/id_rsa_"name".pub >> ~/.ssh/authorized_keys

    新增資料到 Git server:
    git clone git@172.20.93.193:/var/cache/git/"project".git //從 server 下載 code 到本地端

    //新創一個檔案
    cd project
    vim test.txt

    //將剛剛新創檔案加入版本控制
    git add (files) //單檔加入 # 或 git add .    //檔案全部加入

    //同步至本地資料庫
    git commit -a -m 'add test.txt'

    //上傳檔案前通常都會先做下面這個動作
    //否則 git server 端有修改 ,上傳則會失敗
    //合併 git server 與本地端的 code
    git pull origin master    //若遇到衝突則參考 註1:

    //上傳至 git server
    git push origin master


註1 衝突處理:
    在做 git pull origin master 時出現
    Automatic merge failed; fix conflicts and then commit the result.
    //這時 git 會自動在該程式文件裡幫你將衝突的地方用 <<<<<<< HEAD >>>>>>> 包起來 如下
    weda
    <<<<<<< HEAD
    ohnonono
    =======
    yesyesyes
    >>>>>>> 3cbe41c617acc7dfdb0fd2e35341fd019d5bc144
    dsfsdf
    hahaha

    //將包起來的提示刪掉並解掉衝突 如下
    weda
    ohnonono
    yesyesyes
    dsfsdf
    hahaha

    //並重做一次 commit 即可
    git commit -a -m 'add test.txt'

    //再做一次合併
    git pull origin master

    //上傳至 git server
    git push origin master

0 意見:

張貼留言

 
Blogger Templates