茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1669051 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_2423192.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

軟工藝術 : [轉貼]Bitbucket + SourceTree 基礎教學

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]Bitbucket + SourceTree 基礎教學

Bitbucket + SourceTree 基礎教學

不知道大家開發程式外,有沒有 管理程式碼的 習慣?



一般常見的萌萌(程式初學者),往往都是把完成或未完成的半成品,放在本機端的電腦裡,
這樣的風險相當的大,因為世事無常,常常有個萬一,
所以 KT 常常看到 Google Play商店裡,有人的KeyStore(密碼金鑰)遺失,
所以要再重新上架一個新的版本,原本高居的人氣評分與下載數須全部歸零,重新再來一遍, 這樣倒還好啊! 嚴重的事,辛辛苦苦,花上大半日子寫的程式碼,還原後還是完全救不回來。
(KT習慣備份三份,個人電腦、公司源碼控管中心、第三方源碼控管中心)

所以呢?  我們除了要有寫程式的Skill 技能外,還要有良好 管理程式碼習慣。


而今天 KT 就來介紹一個,挺好用的管理程式碼工具:「Bitbucket + SourceTree」。

BitBucket
網站名稱:  BitBucket(免費、可以擁有無限多個私人不公開專案,HKT五星推薦)

SourceTree

網站名稱: SourceTree(免費 GUI 圖形化介面,方便上傳程式碼至 BitBucket、GitHub)

1.首先我們可以先連到 
BitBucket,註冊一個新的帳號

2.創建一個全新的專案,填上相關資料

3.創建一個全新的專案成功後,我們可以看到相關的功能介面:
Source: 可以線上觀看程式碼歷程
Commits: 提交上傳至程式碼管理中心的歷史紀錄
Branches:此專案有哪些分支
Issue:Bug 問題追蹤系統
Wiki:維基百科,可以在這邊寫上一些簡介如何操做或此專案相關說明
Download:可以上傳一些附件等相關檔案

4.而這時可以看到右上角的Clone按一下,此時我們還沒裝  SourceTree,所以還無法做相關連動快速設定,

5.所以我們可以先連到  SourceTree,下載這套超好用,真的是佛心來著,完全免費的圖形畫介面操作軟體
(下載後,下一步、下一步安裝,其中過程會安裝.NET FRAMEWORK 4.5、GIT等軟體)




6.安裝完  SourceTree 後,會需要填入設定相關帳號,這時我們就可以填入我們剛剛申請 Bitbucket的帳號與密碼,
  設定成功後我們就可以回到第4步驟,就可以直接按下Clone in SourceTree,就可以快速連動設定。

7.連動後會彈出一個視窗,詢問Bitbucket Server與本機個人電腦端目錄位置確認,
  當然你可以用預設值,或是更改其他同步連線路徑位置,確定後就可以按Clone,就可以與遠端目錄檔案同步。



8.我們這邊示範一個簡單上傳記事本文件教學,可以在左邊視窗中,按右鍵快速開啟本機目錄資料夾

9.開啟後,我們加入一個簡單的記事本文件


10.加入文件後,我們可以看到SourceTree,就會出現本機目錄與遠端目錄的差異檔案,我們可以點選上方Add按鈕,設定準備將檔案上傳至遠端

11.按下Add按鈕後,設定將檔案上傳至遠端,然後在按下Commit(提交)按鈕


12.會彈跳出一個視窗,可以填寫此次上傳檔案等相關說明,左下角勾選,可以立即將檔案上傳至遠端,沒問題後,就可以按Commit

13.最後我們回到 Bitbucket,網站上看,就可以看到我們成功將檔案上傳至 Bitbucket


原文出處:Bitbucket + SourceTree 基礎教學 ~ TW-HKT 程式●城市●人
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]Source Tree 簡介

Source Tree 簡介

1 什麼是 Source Tree ?

1.1 下載

1.2 SourceTree 介面簡介

  • Bookmarks 介面


SourceTree-Bookmarks-view.png

  • 主要介面

SourceTree-main-view.png

1.3 git 指令/狀態圖

git-local-remote.png

  • working dictionary 目前 git 正在工作的目錄
  • staging area 準備要 commit 的東西
  • local repo 本地端的 git 資料庫
  • remote repo 遠端的 git 資料庫

2 SourceTrees 超簡單使用


2.1 設定 git 使用的 Email

設定全域的使用者資訊

SourceTree-email.png

  • Command line 指令


git config --global user.name "username"
git config --global user.email "username@yooo.com"

2.2 開始新的 git 專案

最後面代入要產生的目標,若目標不存在會建立一個新的資料夾

SourceTree-CreateProject.png

  • Command line 指令


git init hello-git
> Initialized empty Git repository in ~/hello-git/.git/

2.3 開始舊專案開發

抓下個一個叫作 example 的專案,並且取名為 example

  • Command line 指令


git clone "http://github.com/user/example.git" example

2.4 把目前修改的東西記錄下來

把目前有記錄到的檔案,加上一個新的 commit,內容是 "Init commit"

SourceTree-CommitView.png

  • Command line 指令


git commit --all -m "Init commit"

2.5 抓取最新的程式碼 (Pull)

選擇 Pull 後,再選擇要 Pull 的 branch
可以選擇自動 merged,就會把 local 的部份和 remote 做 merge

SourceTree-Pull-View.png

  • Command line 指令


git pull

2.6 上傳變更的部份 (Push)

選擇 Push, 再選擇要 push 的 repository(remote),下面可以選擇需要 push 的 branch

SourceTree-Push-View.png

  • Command line 指令


git push origin

Date: <2013-08-10 Sat>

Author: Superbil

Created: 2013-08-27 Tue 23:26

Emacs 24.3.1 (Org mode 8.0.7)


原文出處: Source Tree 簡介
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]什麼是Git flow ? 如何在SourceTree使用Git flow管理開發!
今天Bear實驗室的主題不是要介紹程式,而是來好好介紹一下有關管理進度開發的工具! 
那今天實驗室的主題是..... Git Flow!!!!  
使用 git 的開發者都知道 git 有 branch 這個功能,但要如何運用在開發流程呢?
(以下內容將以Source Tree講解, 不知道Source Tree是什麼的請點此連結)

什麼是 git flow?

有關Git flow呢,現在 網路上有人整理出了一套模型流程: A successful Git branching model
 
附上簡體翻譯版: 一个成功的Git分支模型
一個Git flow,其中的內容大致可以區分如下:

主要分支
* master:釋出的版本,只從 release 與 hotfix merge  回來,不直接在上面 commit 變更。
* develop:開發中的版本,預設在這 branch 上,開發修改功能都從這分支出去。

支援性分支
* feature branches:從 develop 分支出來,當功能開發修改完成後 merge 回 develop
* release branches:從 develop 分支出來,是準備釋出的版本,只修改版本號與 bug,完成後 merge 回 develop 與 master,並在 master 標上版本號的 tag
* hotfix branches:從 master 分支出來,主要是處理已釋出版本需要立即修改的錯誤,完成後 merge 回 develop 與 master,並在 master 標上版本號的 tag

在本篇教學中,採用 
SourceTree 這套 git gui 工具,因為它有整合了git flow的功能,很方便。
如果你超愛指令,但又不想打太多,你可以參考 Git-flow 使用笔记安裝git-flow工具操作。

本篇教學範例將以圖說的方式,列出以下步驟,並在部分步驟中列出相對應的指令以供參考:
* 初始化專案的 git flow 設定
* 開發新功能(feature)
* 釋出專案(release)
* 緊急上版(hotfix)



以下教學需要使用到SourceTree,關於SourceTree官方網站請點以下連結
SourceTree下載連結 (Mac, Windows皆適用)

初始化專案的 git flow 設定

图片
執行 SourceTree 點擊 Add Repository。
图片
因為我們是建立一個新的空目錄,所以切換到 Create Repository頁面,輸入資訊後點擊 Create。
图片
雙擊剛剛建立的 Repository。
图片
因為整個專案都是空的,所以我們需要 commit 一次,以建立 master branch。
图片
先在專案目錄下新增一個文字檔。

图片
在 Working Copy頁面中,選取剛剛放進專案目錄中的文字檔,點擊 Add。
图片
檔案就會從下方移到上方,準備 commit。接著點擊 Commit。
图片
輸入 Commit message 後,點擊 Commit。
图片
Commit 之後就可以看到 BRANCHES 下多出了 master。接下來就可以點擊 Git Flow 為專案初始化 git flow設定。

图片
基本上不用再調什麼設定,直接點擊 OK。
參考指令:
图片
完成後就會看到在 BRANCHES 下出現 develop 了,這樣就完成了 git flow 的初始化。

開發新功能(feature)

图片
點擊 Git flow 開啟選單。

图片
點擊 Start a New Feature。
图片
輸入Feature Name,然後點擊 OK,建立新的 branch 用來開發新功能。
參考指令:
图片
在 BRANCHES 下可以看到新增了 feature/f1 這個 branch,我們在這 branch 上開發新功能。

图片
在專案目錄下新增一檔案,用來代表新功能,接下來就是老樣子的 commmit 動作。
這邊我們隨意建了一個新檔案叫做main.c!
图片
在 Working Copy頁面中,選取剛剛放進專案目錄中的檔案,點擊 Add。
图片
檔案就會從下方移到上方,準備 commit。接著點擊 Commit。
图片
輸入 Commit message 後,點擊 Commit。

图片
回到 BRANCHES,因為新功能完成了,所以我們要將 feature/f1 merge 回 develop。點擊 Git Flow 叫出選單。
图片
因為目前我們在 feature/f1 上,所以點擊 Finish Current就可以了。
图片
這邊直接點擊 OK。
參考指令:

图片
回到只有 develop 與 master 兩個 branch 的狀態了。重複以上動作直到功能開發完成,就要進行下一個步驟,釋出專案給使用者。

釋出專案(release)

當功能都開發完成之後,就可以進行準備釋出專案,在這 release branch 上做的動作主要就是修改版本號之類的釋出設定。
釋出專案的話,就代表你開發完成了要出去給測試或是準備上架囉!!
图片
點擊 Git Flow。
图片
點擊 Start a New Release。
图片
輸入版本號,點擊 OK(預設是從 develop 最新的版本分支)。
參考指令:
图片
在 BRANCHES 下可以看到出現了 release/v0.1.0 的 branch。
图片
現在讓我們修改一下專案目錄下的 README.md 的內容,加上版本號資訊後存檔。
(畫面中使用的是  Mou Markdown 編輯器, 在Mac上編輯README相當好用, 有機會Bear再詳加介紹

图片
接下來 commit 剛剛的變更,一樣切換到 Working Copy 頁面,選取變更的檔案,點擊 Add。
图片
點擊 Commit。
图片
輸入 Commit message 後點擊 Commit。
图片
回到 BRANCHES 頁面,可以看到 Graph 有變動了。接下來請點擊 Git Flow。

图片
因為目前我們正在 release/v0.1.0 branch,所以直接點擊 Finish Current。
图片
點擊 OK。請注意在 Git Flow 流程中,release branch 只負責釋出設定與修正 bug,千萬不要在上面開發新功能。
參考指令:
图片
Graph 就會出現了變更,release/v0.1.0 會 merge 到 master 跟 develop。並在 master 上標上 v0.1.0 的 tag。

經由以上步驟,我們就學會了依照 Git Flow 從開發到釋出的流程。

緊急上版(hotfix)

當專案釋出之後,可能才發現有重大的錯誤,
但一時之間新功能也正在開發,無法及時釋出新版本.....
這時候可以從  master 分支出 hotfix branch 做緊急上版。
图片
假設目前專案正在進行新功能的開發,如上圖所示,但突然發現版本v0.1.0有錯誤需要馬上修改。請點擊 Git Flow。
图片
因為目前我們在正 feature/f2 branch上,所以我們點擊 Other Action…開啟選單。
图片
點擊 Start Hotfix。

图片
輸入版本號,因為目前我們要修正的版本是v0.1.0,所以按照慣例這裡輸入v0.1.1。點擊 OK。
參考指令:
图片
可以看到 Graph 發生了變動,hotfix/v0.1.1是從 master 分支出來的,接下來就可以修正錯誤,這邊就不再重複講述 commmit 的步驟。
图片
錯誤已經修復好也 commit 了,接下來就是釋出更新的版本。請點擊 Git Flow。

图片
因為目前我們就在 hotfix/v0.1.1上,所以直接點擊 Finish Current。
图片
點擊 OK。
參考指令:
图片
可以在 Graph 中看到了變更,hotfix/v0.1.1 會 merge 到 master 跟 develop。並在 master 上標上 v0.1.1 的 tag。之後再切換到 feature/f2 繼續開發新功能。
參考網站:
A successful Git branching model
Git flow 開發流程
Git-flow 使用笔记

Git 版本控制 branch model 分支模組基本介紹

原文出處: Bear 實驗室: 什麼是Git flow ? 如何在SourceTree使用Git flow管理開發! - TakoBear
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]使用 SourceTree 查看 Git 版本線圖 (Graph) 的注意事項

使用 SourceTree 查看 Git 版本線圖 (Graph) 的注意事項

上週在設計 Git 練習題目時,意外發現一個看似 SourceTree 這套 Git 版控工具的問題 (Bug),就是在開啟一些特定 Git 版本庫的時候,其版本線圖 (Graph) 會整個大亂,非常奇怪。我後來到官網論壇發問後才得到答案,原來有個小地方需要注意,各位有在用
SourceTree 的人應該也要注意一下。

我在 GitHub 有設立一個小專案,用來描述這個問題,請依照下列步驟重現問題:

  1. 先複製 (Clone) 這個範例專案下來
    git clone https://github.com/doggy8088/SourceTree_Odd_Graph_Demo
  2. 試圖取出 branch1 分支
    git checkout branch1
  3. 加入此工作目錄到 SourceTree 程式裡,然後點選 master 分支

此時你會看到這個 master 分支的版本線圖全亂了,它變成一個孤兒的分支,實在太奇怪了!


我如果用
TortoiseGit Show log 功能查看線圖,則完全沒問題!

後來終於發現,原來是 SourceTree 在顯示線圖時,預設排序為 Date Order ( 以提交時間做排序 )


只要調整為 Ancestor Order ( 以各版本祖先的順位做排序 ) 就完全解決了!

其實 Ancestor Order 才是原本 Git 顯示圖形時該使用的排序方式,因為 Git 支援修改版本的機制,例如透過 Rebase (重新指定基礎版本位置) 就可以修改版本的順序,自然也不會照著提的順序顯示版本,圖形自然也畫不出來!

我認為唯一使用 Date Order ( 以提交時間做排序 ) 的時間,是當開發人員單純想看提交的時間順序時才有用,只是這時的版本線圖就不一定準確了,這點要特別小心。

相關連結


原文出處: The Will Will Web | 使用 SourceTree 查看 Git 版本線圖 (Graph) 的注意事項
前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|