2019/05/26

Bitbucket一瞥

摘要

本文簡要記錄Bitbucket搭配Git的基本操作。


本文

Bitbucket是Atlassian公司提供的一個基於web的版本庫代管服務,Git是其支援的版本控制系統。
隨後將會簡介status、clone、add、rm、revert、log、commit、和push等Git命令的在Ubuntu上的基本操作範例,並且會依範例而參閱Bitbucket的web設定頁面;中途摻雜了一些新手會遇見的故障、以及排除方法。

1. 首先,前往Bitbucket官方網站、並且登入之;可以像本文一樣使用谷歌賬號登入。
2. 登入網站後,建立第1個reposity;例如本文的hello-world-c。
3. 在網站取得clone所需要的URL;例如本文的SSH形式的URL。
4. 在本地端操縱git來clone指定的reposity;此處Ubuntu本地端發生了第1個錯誤,欠缺取得的權限。
5. 放行特定的機器得以取得指定的reposity;此處將於Ubuntu本地端產生SSH的金鑰,並將公鑰登錄於網站中hello-world-c之reposity中的settings的general的access keys裡。
6. 在本地端操縱git來clone指定的reposity;這次成功了。
7. 在本地端操縱git來查看指定reposity的status。
8. 在本地端操縱git來commit一個已修改的檔案。留意,commit前必須先add已修改的檔案,而且,該commit僅影響本地端、而不會影響遠端的網站(觀察網站中的註解,沒有剛才commit指定的訊息)。
9. 在本地端操縱git來push既有的commit;此處Ubuntu本地端發生了第2個錯誤,欠缺存取的權限。這時候若是直接add金鑰將會失敗,必須先將登錄於網站中hello-world-c之reposity中的settings的general的access keys裡的公鑰項目予以移除,再行add才會成功。
10. 放行特定的機器得以寫入指定的reposity;此處將已於Ubuntu本地端產生SSH的公鑰登錄於settings的security的SSH keys裡。
11. 在本地端操縱git來push既有的commit;這次成功了(觀察網站中的註解,已有剛才commit指定的訊息)。
12. 在本地端操縱git來查看log。
13. 在本地端操縱git來rm指定的檔案;此處的rm挾帶了--cached代表檔案會被保留、而僅影響reposity的狀態,隨後同樣要add這項變更,才能再接著執行commit、和push。
14. 在本地端操縱git的reset來註銷指定的commit;此處剛開頭存在著最新的7adaf67這一項,一旦指定HEAD^讓最新的第1筆被reset後,再次查看log便不存在7adaf67這一項了。
15. 在本地端操縱git的revert來註銷指定的commit;此處剛開頭存在著最新的a4f6a1b這一項,一旦指定它被revert、再push之後,a4f6a1b這一項便不復存在了。


參考文獻

https://bitbucket.org
https://zh.wikipedia.org/zh-tw/Bitbucket

沒有留言:

張貼留言