Tag Archives: BitBucket

Common Git Command

新公司是用Git
很多同事都是使用Git BashCommit/Pull/Push source 去Bitbucket
由於不太懂Git command的關係
所以我便用BitbucketSource Tree..
可能是太多Projects/ Repositories
久不久..我的Source Tree 便出現問題..
之前還試過

以下是一些常用的 Git Command

//用來提取這個repository 的最近資料

git fetch

// 用來checkout branch

git checkout [branch name]

// 用來Pull 最新的 current branch

git pull 

// 加 unstage 的 file

git add *

// 或一個一個檔案 stage
git add FileToStage

// commit

git commit -m "message"

//push

git push

// merge the specific branch to current

git merge develop

這會merge develop branchcurrent checkoutbranch

暫時分享住這些
有機會再share 其他常用的git command

Hope you find it useful

BitBucket SoureTree – The server’s host key is not cached in the registry

今天嘗試使用SourceTreePush一個新的Git Repos
誰不知 Push了很久都是停留在同一個output Windows
SourceTree Output Windows - The server's host key is not cached in the registry

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags --set-upstream origin master:master
Pushing to git@bitbucket.org:sharechiwai/SampleCode.git

The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 97:xxxxxxxxxxxxxxxxxxxxxxx
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.

If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.

做了一會research之後終於找到解決方法了

解決方法:
大家可以使用Command Prompt之後輸入以下指令到 Source treePutty資料夾

cd "C:\Program Files (x86)\Atlassian\SourceTree\tools\putty"

之後執行以下指令到連接到 BitBucket

plink git@bitbucket.org

他便會出現上面的問題..叫你把Host Key CachRegistry
BitBucket SourceTree - The server's host key is not cached in the registry Solutions
完成後再嘗試使用Source Tree 去Push
這一次很快便可以把這一個Local Repos Push上了BitBucket

Hope you find it useful

VS2013 – An error occurred. Detailed message: An error was raised by libgit2. Category = Net (Error). This transport isn’t implemented. Sorry (Fixed)

今天嘗試使用 把程式碼 CommitBitbucket
之前介紹的AppHarbor 可以把你在BitBucket上的 Source Code Compile 和Deploy 到你的AppHarbor Account
十分方便..

AppHarbor – Free hosting for ASP.Net/ ASP.Net MVC – 免費ASP.Net/ ASP.Net MVC寄存服務

我先在BitBucket 建立一個 C#Project/repository

之後使用Tortoise for Git來把在BitBucketRepository Clone / 複製到電腦上

Get BitBucket SSH URL to clone the project repository

之後便用Visual Studio 2013 建立一個新的Project 儲存在 那個資料夾上..

當大家再次開啟這個Project的時候便會發現 在檔案上 Right Click / 按右鍵時 會多了一個 “Commit“的選項

Commit option on visual studio

如果大家有連接到TFS 的專案時..會有 “Check-in” 的選項的..

之後便會去到 以下的這個畫面.. 大家可以 Commit 和把已經 commitSource Code Pushremote Repository

Commit and Push Visual Studio 2013

誰不知.. 當我按 “Push” 這個按鈕後便出現以下的錯誤信息..

An error occurred. Detailed message: An error was raised by libgit2. Category = Net (Error).
This transport isn’t implemented. Sorry
An error occurred. Detailed message: An error was raised by libgit2.  Category = Net (Error). This transport isn't implemented. Sorry

做了一會兒research 之後發原來Visual Studio 2012 使用Git時也有相同的問題
可惜可以在Visual Studio 2012上使用的Visual Studio Extension不能在Visual Studio 2013上使用

如果你是使用Visual Studio 2012 的話..
可以嘗試下載和 安裝 Visual Studio Tools for Git
http://visualstudiogallery.msdn.microsoft.com/abafc7d6-dcaa-40f4-8a5e-d6724bdb980c

如果你是使用Visual Studio 2013 的話 可以嘗試以下的方法

解決方法..原來Visual Studio 2013 是支援用HTTPS 來 連絡 到GIT
通常很多人都會使用SSH

所以大家可以到你的 BitBucket / GIT/ CodePlex 上的 GIT Repository
之後選擇以 HTTPS的方法來 Clone / 複製你的 Repository 到你的電腦上
BitBucket HTTPS option
Git Repository by using HTTPS

當你再次開啟Visual Studio 2013 按 “Push” / “Pull” 或 “Sync” 的話
Visual Studio 應該會彈出一個登入的windows 讓你轉入 BitBucket / GIT/ CodePlex
的Username / Password [請注意..你的 Password 可能和你SSH 的Passphrase 是不同的…所以可能會輸入錯的密碼]

BitBucket request for login information
BitBucket Request for User Credentials inside Visual Studio 2013

成功登入後Visual Studio便會 “Push” / “Pull” 或 “Sync” 到 BitBucket / GIT/ CodePlex /TFS 上了
Repository is already up to date. No changes to pull
Repository is already up to date. No changes to pull

現在便可以在Visual Studio 2013 上使用 Git 來 Commit “Push” / “Pull” 或 “Sync” 你的 Source codeBitBucket / GIT/ CodePlex /TFS 上了

Happy Coding

AppHarbor – Free hosting for ASP.Net/ ASP.Net MVC – 免費ASP.Net/ ASP.Net MVC寄存服務

今天想和大家介紹一個Cloud Service /雲端服務
他們可以幫你免費Host你的 ASP.Net/ ASP.Net MVC 網頁
AppHarbor
https://appharbor.com/
大家可以使用他們的服務來
他的好處是大家可以使用Git把Source Code commitAppHarbor上..
AppHarbor 的Build Server 會Compile 你的程式碼..
之後Deploy 到特定網址 [xxx.apphb.com]
我的網圵是 http://sharechiwai.apphb.com..
主要是用來測試程式碼…
和用來 Host 我的 ASP.Net MVC Website / 和測試其他新東西 [因為自己可以不用安裝 =)] 和這個Blog 相關的Demo..

除了支援.Net 之外..
他們還有很多Add-on 可以給大家使用..
E.G.
AppHarbor Add-on
使用basic 的服務是免費的
大家亦都可以把你們的Source Code 從 Bitbucket / GitCodePlex 上 發佈到 Appharbor
如果想有自定的URL/ SSL和其他東西..那便要付費了
AppHarbor Pricing

Hope you find it useful.

Setup Git for BitBucket on Windows Part II – 在Windows 上設定Git Part II

在開始使用前我們需要先建立一個SSH Key 來和 Server連線的

開始建立我們的SSH Key

首先我們按”Start Menu/開始” ->”Git“資料夾 ->選擇 “Git Bash
Start Menu -> Git -> Git Bash” width=”251″ height=”145″ /><br />
之後我們可以使用以下的<strong>Command</strong> 查看我們之前有沒有建立過 <strong>SSH Key</strong><br />
“<strong>cd ~/.ssh</strong>”<br />
<img src=
如果結果是這樣的話”No such file or directory” 意思是你電腦上沒有建立過SSH key

[如果有的話.. 可以考慮到你電腦上的User Profile上 backup了他..E.G. 把這.ssh 這個資料夾改名便可以了]
User folder

我們可以使用以下的指令去建立自己的SSH Key
ssh-keygen -t rsa -C ‘youremail@youremailaddress.com’
generate ssh key command ssh-keygen -t rsa -C email address
[請用自己在BitBucket上的email來取締 “youremail@youremailaddress.com” ]
按”Enter” 之後 便會叫你輸入一個檔案名用來儲存你的SSH Key..
我們不用輸入檔案名..真接按”Enter” 便可以了

之後便會叫你輸入”passphrase” (和密碼差不多的東西)
Enter passphrase
輸入之後按”Enter” 重複輸入 自己定下的”passphrase” 之後
Enter Passphrase again
你便應該可以看到和下面差不多的畫面..
說明了你的Private Key 和Public key 儲存了在那裡
和你的SSH 指紋是怎樣的..等等
generated public and private ssh key with fingerprint
現在你的SSH Key 已經建立了..

之後我們便需要把我們的Public Key加進我們的BitBucket Account上了..
我們可以執行以下”Command/指令”  去檢查能不能連接到 BitBucketAccount 上
ssh -T git@bitbucket.org

如果我們沒有把Public key 加到BitBucket 上時..
我們會遇到以下的錯誤信息..”Permission Denied (publickey)
Permission Denied (Public key)
所以我們先要登入我們的 BitBucket Account..
之後用mouse 指向自己的用戶名稱->選擇”Account
bitbucket account setting

之後我們可以打開之前自己建立的SSH KeyPublic Key檔案..[id_rsa.pub]
他的位置應該會在你的使用者資料來內的..
當你到”Start Menu/開始” -> 選擇你的”使用者名稱
User folder

開啟”.ssh”資料夾便可以看到之前所產生的SSH Key 檔案了
id_rsa 是Private Key
id_rsa.pub 是 Public Key
known_hosts 是用來儲存我們容許連接到的IP address
ssh key files

我們可以使用”Notepad/記事簿” 開啟我們的Public Key [id_rsa.pub] 檔案..
之後複製檔案內的所有內容
Open id_rsa.pub with notepad
之後我們便回到BitBucket 我們的Account Setting 上
找到了SSH Keys 的Section
在這個TextBox上貼上你剛剛複製的Public Key內容
之後按”Add Key“..
完成後要記著按”Save” 去儲存BitBucket上的設定
Add SSH public key to BitBucket

之後我們可以返回我們的”Git Bash/ Command Prompt” 畫面

再次執行之前的指令/command
ssh -T git@bitbucket.org
之後他會顯示”Warning: Permanently added the RSA host key for IP address ‘xxx.xxx.xxx.xxx’ to the list of known hosts
之後便會叫我們輸入我們之前所設定的”passphrase” 了
Successfully connect to BitBucket

有輸入”passphrase” 這個畫面證明了..我們設定的SSH key 已經成功建立..
我們便可以開始使用BitBucket 作為我們Source control/或Backup source code 的地方了
Successfully connect to BitBucket however it has syntax error

輸入完Passphrase之後出現”Invalid command syntax” 是正常的

將來有時間的話..我會寫多一些怎樣使用Git的網誌..

Hope you find it useful

免費 的 online Version Control System – 使用BitBucket 的服務來備份你的程式碼

經一事長一智..經過之前失去所有電腦上的數據.包括, 相片,程式碼 和功課的慘痛經驗之後..
係時候要留意一下 一些雲端的backup solution [網上的方案]

今天想和大家介紹的是在BitBucket 使用Git
其實BitBucketGitHub是差不多的
大家都是可以用到做source control
分散式版本控制系統Distributed Version Control Systems

什麼是分散式版本控制系統
以我的理解是一個在每一台電腦上的程式碼都可以有自己的一個repositories..
大家可以隨身把寫好的程式碼commit到自己的Repositories 上.
或從RepositoriesRoll Back/Restore之前寫好的程式碼..
把自己搞亂了的程式碼還原..
由於在很多請況下都會有多過一個Developer在同一個Project 上開發不同的Modules
所以分散式版本控制系統 會有一個Central Repository 用來把寫好的程式碼集結在一起

當程式碼有些重疊時…
便會有一個功能給大家merge 重疊/或系統不能分別那一個是要用的版本的程式碼用人手Merge成一個較好的版本..
其他的Developer可以 連接到這個Central Repository上取最新的版本..
所以用起來比較方便和有效率

BitBucketGitHub最大分別是
GitHub 的免費Account 暫時 是只提供無限的公開的repositories[庫]和庫內可以有無限的參與者和他只支援Git 沒有支援其他的source control
Unlimited public repositories and unlimited public collaborators

BitBucket的免費account 就 有無限的公開和私人的repositories[庫] 但是只可以有最多5個的參與者/使用者
5 users free plan and you can have unlimited public and private repositories.
而BitBucket 有提供 Git 和 Mercurial 的 分散式版本控制的 服務

詳情可以自己參考他們的官方網頁
BitBucket
https://bitbucket.org/

GitHub
https://github.com/

將來我會寫一個如何在 電腦上安裝 Git 和設定BitBucket 的貼士 有興趣的朋友可以留意給我一些意見

有興趣在Windows 的電腦上安裝 Git 和設定BitBucket 的朋友可以參考以下我的網誌
Setup Git for BitBucket on Windows – 在Windows 上設定Git

Hope you find it useful