創作內容

1 GP

使用GIT和Bitbucket管理專案

作者:likwueron│2013-06-30 23:12:17│巴幣:100│人氣:3261
今天是要讓各位入坑,對坑敬謝不敏的就可以離開了。

專案,不管是哪一種,你可能有:
  1. 改了之後不滿意,卻忘了備份
  2. 要和別人共同編輯,結果改了共同的地方無法整合
  3. 到了另一臺電腦,卻不知道要更新哪些部份,最後只好整個複製過去
  4. 族繁不齊備載
所以我們要怎麼辦?做詳細的記錄?
但是,比起人腦,電腦在記憶方面顯然更可靠,為什麼不把這個工作交給它呢?
所以我們有了版本控制(revision control)。

你如果之前有所耳聞,大概還會知道這類軟體有哪些,CVS啦、subversion啦。
而今天我要介紹的是......GIT!
嗯,那選上它的理由是什麼?因為當初在看資料的時候,發現它是最新的,想必在應用上會比它的前輩還好。(不然你創了新工具是為了什麼?)
另外,GIT允許你離線管理,這對於不想上傳程式碼到SourceForge或GoogleCode的我來說很好。
嗯?為什麼我不想上傳?因為這類服務通常會要求你使用特定的授權,更簡單的來說,就是你要公開源始碼。
很遺憾,我是個自私的人,我怎麼可能上傳啊?
話又說回來,其實我目前寫的程式不過也是N流的程度就是了,還是別誤人子弟吧...

雖然說是這樣,但我最近要在學校和房間跑來跑去,偏偏我又是桌機派的,所以要怎麼辦呢?
找找商業性網站?要付錢欸!

(原本是分兩句,不過我懶得傳兩張圖就是了)
所以我又把GIT封印了許久,直到...某個廣告。


Bitbucket宣稱免費,而且似乎空間無上限。
不過我的商人觀點告訴我,這只是唬人的,等適當的時機一到,該付錢的還是要付錢。
(像之前mediafiles一開始也是說無廣告,結果最後還是廣告外加封JDownloader,還好我早就學會不相信宣稱這鬼東西)
雖說如此,不過,拿來當練習還是不錯的,所以我們就開始正文吧!

首先,請安裝Windows版的GIT(我猜10個來這邊的人9個是用Windows)。
標準安裝進階圖形介面
安裝時,它會問你非常有品味的問題,好好思考再下決定。
其中,我個人對於換行這件事都是自己來,所以我選都不轉換

裝好後,你的桌面會出現Git Bash的捷徑,還在猶豫什麼?點下去啊!

文字介面是比較討厭,不過,我上面不是有弄一個連結嗎?自己去下載啦!
GIT所提供的路徑,風格和Windows不同,我想你也注意到了:沒有磁碟代號、""被換成"/"。
(比較專業講法是Unix-like風格)
而我個人相信,你既然來看,就該已經有專案了,所以你為什麼不快點移動到那個位置呢?
$ cd [專案路徑]

(提醒一件事,資料夾有空格的請在空格之前加上)

$ git init
$ git add [你要管理的檔案]


(你可以用*表示任意值,所以可以直接打git add *把一切都加進去)
如果你在安裝時都選預設值,那你可能會看到那一長串訊息,簡單來說,就是有些檔案的換行設定在管理庫中會被改變,不過你目前檔案則保持原樣

$ git commit -m "註解"
或是
$ git commit

輸入第一個的肯定看不到這個畫面,這是一款叫Vim,只能用鍵盤操作的文字編輯器,所以如果你開始害怕了,快點拉到上面找一個喜歡的圖形介面安裝。
不過,你毋需了解Vim全部的用法,按I在目前位置開始打字;按O是開一新行打字;按A是在目前位置的右邊開始打字。
所以你打完了?或是你按錯想反悔?按Esc結束打字模式,或是,用上下左右鍵移動。
哦!對了,為什麼你會來這邊?因為GIT要求你為這次的更改下一個註解,另外,也對你簡報剛剛你加了哪些東西進去。
由於我們是開新的管理庫,所以可以叫它new之類的。

所以你接著會問:我要怎麼離開?
按Esc離開打字模式,然後輸入:qw確認變更,而如果你反悔,改用:q!

本機的管理庫已經搞定了,接著是網路上的,也就是前面提到的Bitbucket。
當然,你要有個帳號,去申請吧!
申請完後,它會要求安全連線的東西,你可以單純的用密碼,或是比較強的ssh。
我們來製做一個RSA金鑰吧!(官方/英文)
RSA加密演算法是個數學的應用,簡單來說就是兩數相乘容易,但因數分解難,所以我們可以公開商數,但保留那兩個合出商數的質因數。

$ cd ~
$ mkdir .ssh

我們在家目錄中建立一個叫.ssh的資料夾,等一下我們會把金鑰和設定檔放這邊。
$ ssh-keygen -t rsa
它會問你要存成哪個檔案,我是因為已經有一個了才另外指定,不然,直接按Enter就好了。
接著是passphrase,你可以理解成密碼,至於為什麼不叫passphrase?你可以考慮寫信問作者們。

(我最後發現我路徑多打了個點,用./id_rsa2就可以了)

設定檔的名子叫config,放在.ssh中。
啊!不過剛剛那個家目錄是在哪邊?Win7/Vista是在 C:Users[使用者名稱];前幾版的Windows在C:Documents and Settings[使用者名稱]
檔案內容:
Host bitbucket.org
  IdentityFile ~/.ssh/[privatekeyfile]

請把你剛剛建好的金鑰名稱填入,預設是id_rsa

而為了讓GIT能一開始就啟用金鑰,我們要設定Git Bash的行為。
家目錄下建立一個叫 .bashrc 的檔案。
啊,是的,我知道Windows會哀嚎,說你沒打檔名之類的。
$ echo "" >> ~/.bashrc
然後,打開記事本,或你喜歡的文字編輯器,把.bashrc拉進視窗中,你應該就可以編輯了。
檔案內容:
SSH_ENV=$HOME/.ssh/environment

function start_agent {
    echo "Initialising new SSH agent..."
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
    echo succeeded
    chmod 600 ${SSH_ENV}
    . ${SSH_ENV} > /dev/null
    /usr/bin/ssh-add;
}

# Source SSH settings, if applicable

if [ -f "${SSH_ENV}" ]; then
    . ${SSH_ENV} > /dev/null
    #ps ${SSH_AGENT_PID} doesn't work under cywgin
    ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
        start_agent;
    }
else
    start_agent;
fi

(你可以加入別的,像是cd,讓它一開始就移到你想要的資料夾中)
存檔後,關掉並重開Git Bash,它會問你passphase,輸入後應該就會成功載入該組金鑰了。

哦,對了,對方還在等你傳送金鑰給他們,不過,如先前所說的,兩個質因數要保密,你要給對方的是id_rsa.pub中的內容。
這樣設定就搞定了,我們接下來只需按照Bitbucket的指示上傳管理庫就行了。


(這會讓你把遠端伺服器命名為origin)

那如果同伴要你的程式呢?用clone。

好了,現在你知道你的同伴更新了位在伺服器的管理庫,你要怎麼拿?用pull。
$ git pull origin
而有些人習慣步步為營,這時可以考慮用fetch,之後再merge來處理,這方面的差異有文件解說

好了,有志向學的少女和少年啊!剩下的,就問問Google吧!
其實,我也還在摸,哇哈哈哈。(被巴飛)
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=2065917
Some rights reserved. 姓名標示-非商業性 2.5 台灣

相關創作

同標籤作品搜尋:git|版本控制

留言共 1 篇留言

Fu-Yuan Li
這些真的好用!

個人是用github寫markdown使用手冊

真是造福人群阿[e12]

12-15 12:14

我要留言提醒:您尚未登入,請先登入再留言

1喜歡★iqandadie 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:那比你想得還要常見... 後一篇:公關大失敗,何來無奈?...

追蹤私訊切換新版閱覽

作品資料夾

Lobster0627全體巴友
大家可以多多來我的YT頻道看看哦(*´∀`)~♥https://www.youtube.com/@lobstersandwich看更多我要大聲說昨天15:59


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】