# Git的使用  ## 版本控制的重要性 當我們在做專案開發時, 一定會遇到需要改code的情況, 但是有沒有想過如果修改過的版本反而出bug呢? 那我們也許會想要將code還原回修改之前, 好一步步排查bug。 如果我們沒有進行版本控制, 那要改回先前的code會很困難, 這對於專案開發來說是非常沒有效率的, 反之如果我們有做好版本控制, 我們只需要將先前的版本叫出來就行了。 又或者有另一種情況, 如果這個專案是許多人一起協作的, 那每個人在完成自己的部分後沒有進行code合併, 就很容易出現版本衝突, 而版本控制也能處理這樣的問題。 **於是版本控制系統(VCS)就出現了** ## Git >不爽MINIX寫出Linux,不爽Bitkeeper寫出Git 在開始之前先來講故事。 Git是由鼎鼎大名的Linus Torvalds開發的, 對,就是那個支撐起現在許多軟體、作業系統、伺服器、超級電腦的Linux系統的創始人Linus。 他當時在開發Linux時原本用的版本控制系統是Bitkeeper(要付費), 而在一次的矛盾後Bitkeeper收回了他的免費使用權限, 生氣的Linus就乾脆自己寫一套VCS, 於是Git就誕生了。 Git在英國俚語是指"不愉快的人" ## GitHub https://github.com/ >Git 跟 GitHub 就跟 P\**n 跟 P**nhub 的關係一樣 GitHub 就是拿來存放 Git 的空間 > >[name=40th學長][time=2023][color=red] 你可以把GitHub想成是code(或說是"版本")的雲端硬碟, 但是能夠方便的進行拉取(pull)、上傳(push)等操作, 還提供了協作的平台。 而且GitHub上有很多開源免費的軟體(免費仔狂喜 如果你想架網頁, GitHub有GitHub page, 提供免費網域和線上主機。 GitHub還有很多功能, 有興趣就去看看吧。  --- ## Branch  上面這張圖顯示出branch的開發與合併。 我們通常將主要版本(或Stable Version)稱為main branch或Master, 而其他branch則是用於修bug、實作功能的版本管理。 branch可以在需要的時候隨時分出來, 而且是"越早分越好", 因為分branch能讓整體的開發架構比較整潔, 還能保證不動到stable version, 避免一些奇奇怪怪的錯誤。 基本上Git的概念就是在這些分支上進行版本控制, 包括開發與合併branch ## Git 指令 >git指令是在terminal打喔 >然後在控制repository前要先加SSH key(告訴github哪一台電腦才能上傳檔案(push)) >細節就不多講了 >自行google "github ssh" 在這裡必須推 https://learngitbranching.js.org/?locale=zh_TW 這個網站提供了圖形化的教學, 又有繁中介面。 一定要每一節都玩玩看, 不會花太久時間。 上面那個網站教的就夠用了, 剩下一個比較常用但不知道為什麼沒有寫在那個網站的指令是 ```python= git add [file] or git add . ``` 這個指令是用在commit之前, 將檔案加入暫存區(也就是新增節點)。 所以整體流程會是: 第一次匯入檔案 ```python= #######在你的專案資料夾裡####### git clone [https] or git init ``` 之後更新檔案前 ```python= #######terminal先cd到專案資料夾裡####### git pull #先把master拉下來 ``` 然後就可以一直重複 ```python= #######terminal先cd到專案資料夾裡####### git add . then git commit then git push ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up