網路開發與協作有著內在的聯絡。大多數時候,你會和其他開發者一起工作,即使沒有,Git 也能在很多其他方面幫助你。
Git 是控制我們製作的應用程式的版本的軟體。單打獨鬥的開發者、大公司,甚至是世界上最大的開源專案 Linux 都在使用它。
作為一個網路開發者,知道如何正確使用Git進行網路開發是極其重要的。我們不只是在談論 “git add”、”git commit “和 “git push”。你應該知道用Git建立一個web專案的整個工作流程。
為什麼要使用Git?
這些只是開始使用 Git 的部分原因:
- 組織:與其用v1、v2、v3等資料夾來管理專案,不如用一個專門的資料庫來儲存所有版本的檔案。
- 協作:Git 可以讓你和其他人同時在同一個專案上工作而不產生衝突。
- 開源:Git是開源的,但它也是我們用來協作和創造偉大的開源軟體的工具。任何人都可以在GitHub或Bitbucket等平臺上向開源專案提出拉取請求。
- 平臺的靈活性:如今,你有許多不同的Git託管服務可以選擇,比如Gitlab、GitHub、Bitbucket和SourceForge。你甚至可以為你的所有專案使用一個自我託管的解決方案。
- 輕鬆備份:輕鬆地撤銷錯誤,永遠不會丟失你的專案程式碼庫。
我們已經提過一兩次GitHub這個詞了,那麼Git和GitHub之間有什麼區別?
如果你對 Git 完全陌生,可能會感到困惑。簡單地說,Git 和 GitHub 是相關但不同的工具。
Git 是我們用來控制檔案變化的版本控制系統(VCS),而 GitHub 是我們用來線上儲存專案檔案及其 Git 歷史的服務(位於專案的 .git/ 資料夾中)。
Git安裝在本地,在你的機器上,如果沒有像GitHub或GitLab這樣的託管服務,就很難與其他開發者進行協作。
GitHub通過增加其他改善協作的功能,如克隆、分叉和合並,為Git增壓。這兩個工具結合在一起,為你帶來了一個相對友好的生態系統,可以開發、管理並向其他人展示你的專案。
專注於開發,而不是託管。給我們的管理應用程式託管一個旋轉。
大的IaaS供應商傾向於將事情過度複雜化。跳過過時的儀表盤、臃腫的產品線和令人困惑的內建功能,你將不會使用。在幾分鐘內部署你的程式碼。另外,你的第一個月可以得到20美元的優惠。
網頁開發的基本 Git 工作流程
在接下來的章節中,你將通過親身實踐瞭解更多關於網頁開發的 Git 工作流程。
安裝要求
如果你還沒有安裝Git,現在是個好時機。它很容易安裝,在大多數作業系統上都可以使用。
從官方下載頁面下載,如果你使用的是Linux或macOS,則可以用軟體包管理器安裝它:
Git下載頁面
為了測試安裝是否順利,在Linux或macOS上通過在應用程式選單中搜尋 “Terminal “來啟動終端,或者在Windows上開啟Git bash(預設安裝有Git)。
然後輸入:
git --version
Git版本
如果你得到一個Git版本作為迴應,你就可以開始了。
我們還需要一個GitHub賬戶,所以請確保註冊或登入GitHub:
GitHub的註冊頁面
一旦你安裝了Git並登入了GitHub賬戶,就可以進入下一節了。
協作專案的基本Git工作流程
如前所述,大部分時間你都不會單獨開發專案。協作是一項關鍵技能,而Git和GitHub可以幫助我們把它變成一個簡單而有效的過程。
一個Git專案的典型工作流程是這樣的:
- 通過克隆版本庫或 repo 獲取專案的本地副本。如果你要合作,你應該先分支這個 repo。
- 建立一個分支,用你要做的功能的一個代表性名稱。
- 編輯該專案。
- 在你的本地機器上提交修改。
- 推送修改內容到遠端版本庫。
- 向原始版本建立一個拉取請求。
- 合併和解決原始 repo 的主分支中的衝突。
教程
現在是我們動手的時候了!
在本指南中,你將建立一個簡單的HTML網站。為了實用起見,你將把HTML網站倉庫的基本專案分支到你的GitHub賬戶。所有公共可用的軟體庫都可以這樣做。
Info
分支是一個獨立的版本庫副本,你可以在不影響原專案的情況下管理和修改。另一方面,克隆一個倉庫,只是建立一個檔案的本地副本。
要分支這個HTML網站,請到這個GitHub倉庫,點選位於頁面右上方的Fork按鈕:
GitHub分支
現在你有一個原始版本的分叉,只在你的GitHub賬戶上可用。在你開始提交修改之前,它是完全一樣的 repo。
正如你所看到的,分叉一個公共的 repo 只需要幾秒鐘。這對開源專案來說是很好的,但請記住,如果你的組織有一個私有的 repo,在嘗試分叉之前,你需要作為一個貢獻者加入。
現在是時候把你的分叉帶到你的本地機器上了。要做到這一點,你需要用 git clone
命令來克隆它,它可以從遠端伺服器上獲取 Git 倉庫:
git clone remote_url
你需要把 remote_url
替換成你的分叉的URL。要獲得GitHub repo的確切URL,請進入其頁面並點選程式碼。然後選擇SSH,並複製它給你的連結:
SSH URL.
你要執行的克隆分支 repo 的命令是:
git clone git@github.com:yourusername/HTML-site.git
當你克隆一個 repo 時,你會得到一個帶有其名稱的資料夾。這個資料夾裡有專案的原始碼(在這裡是指HTML網站)和Git repo,它位於一個名為.git的資料夾裡。
你可以通過在圖形化檔案管理器中開啟新的資料夾,或者在終端用 ls
或 dir
命令直接列出這些檔案,來檢視新目錄中的檔案列表:
# Linux/macOS ls HTML-site/ # Windows dir HTML-site\ .git images .gitignore index.html LICENSE README.md styles.css
這個HTML網站非常簡單。它使用了Bootstrap的實用功能和一些來自Unsplash的圖片,在那裡你可以為你的網站下載免費圖片。
如果你在瀏覽器中開啟index.html檔案,你會看到一個有一些圖片的簡單頁面:
我們正在建立的簡單網頁。
是時候玩一玩這個專案了。它感覺非常空洞,也許一個帶有網站名稱的標題可以增強使用者體驗。
要做到這一點,進入HTML-site目錄,建立一個名為 header
的分支。在這個新的分支中,我們可以編輯所有的檔案,並儘可能多地實現程式碼,因為這不會影響主(原始)分支。
執行以下命令:
git checkout -b header
這將建立一個名為 “header “的分支,並在這之後將你切換到它。這相當於:
git branch header git checkout header
為了確認一切順利,執行:
git status # On branch header # nothing to commit, working tree clean
你會看到你已經從 “主 “分支轉移到 “頭 “分支,但工作樹仍然是乾淨的,因為我們沒有編輯過任何檔案。
在你喜歡的程式碼編輯器中,開啟分支專案中的index.html檔案。這個檔案包括一些指向Bootstrap 5的連結,所以我們可以利用該框架的即用型元件。
在index.html檔案的 <body>
標籤內和圖片容器上方新增以下程式碼:
<header> <nav class="navbar navbar-light bg-light"> <div class="container-fluid"> <span class="navbar-brand mb-0 h1">HTML site</span> </div> </nav> </header>
我們的網頁上有一個新的頁首。
看起來好多了! 你可以自由地進行其他分支和修改。
一旦你完成了對專案的編輯,就該把所有的修改提交到你的本地版本。在專案目錄中,在終端鍵入以下內容:
git add --all git commit -m "Added simple header in index.html file"
重要的
所有的Git提交資訊都必須是清晰而有意義的。每當你新增一個提交,你和你的隊友都應該能夠識別該提交中發生了什麼,這樣如果出現了錯誤,你就可以很容易地修復它。
當你剛開始一個專案時,有描述性的提交資訊是很常見的,但隨著時間的推移和重點的轉移,資訊的質量往往會下降。請確保保持良好的命名實踐。
現在你已經向本地版本庫提交了檔案(現在還只能在你的電腦上使用),現在是時候把它推送到遠端版本庫了。
如果你試影象平常一樣推送提交,那是行不通的,因為你現在是在頭層分支上工作。你需要為 header
設定上游分支:
git push --set-upstream origin header
從2021年8月13日開始,GitHub要求使用SSH認證,所以請確保你的金鑰設定正確。
在這之後,你應該可以在你的分叉倉庫中看到一個名為 header
的新分支(例如:https://github.com/yourusername/HTML-site/branches):
“header” 分支.
要向原始版本建立一個拉動請求,請點選 “Compare“,在Active branches部分。
這將引導你進入一個拉取請求,你需要選擇你想與哪個分支(原始分支或你的分叉)合併。預設情況下,它顯示的是與基本倉庫合併的選項:
在GitHub上建立拉動請求
一旦你點選了拉動請求選項,你就需要對所做的修改寫一個簡短的描述,就像你先前的提交一樣。再一次,儘量簡明扼要,但要描述清楚:
編寫拉動請求資訊
點選Create pull request按鈕,等待基礎倉庫所有者接受或反饋你的修改。
祝賀你 – 你剛剛完成了網頁開發中常見的 Git 工作流程的所有步驟。
這是一個非常基本的例子,但其邏輯可以延伸到各種規模的專案中。請確保你在更大的合作專案中也能嚴格執行這個工作流程。
如何在Kinsta使用Git
如果你是Kinsta的使用者,你已經有兩種方法可以在MyKinsta門戶中使用Git和GitHub。
我們先來看看第一種方法。你可以很容易地通過SSH進入並從任何Git託管服務(如GitHub、Gitlab或Bitbucket)中提取一個Repo。
要做到這一點,進入你的Sites標籤,選擇一個網站,然後進入你的SSH細節部分,並複製SSH終端命令。
SSH細節部分
通過SSH登入到你的網站,在你的終端貼上上面的命令,然後進入你的網站的公共資料夾(位於/www/yoursitename/下)。這裡是你所有WordPress檔案的位置,所以你可以拉下一個Git repo,裡面有你一直在工作的定製主題或外掛。
下面是你如何用一個簡單的命令拉下一個Git repo:
ssh yourkinstasite@1.2.3.4 -p PORT "cd /www/my_site/public && git pull https://github.com/user/repo.git"
重要
SSH應該由高階使用者使用。如果你不熟練操作,不要猶豫,先聯絡Kinsta支援。
現在,引入Kinsta新的GitHub部署功能,你可以從GitHub倉庫部署一個完整的WordPress網站。
你的GitHub倉庫應該包括WordPress核心檔案的副本,當然還有你的網站在wp-content資料夾下的內容。
讓我們快速看一下這個選項。
去你公司的一個網站,建立一個暫存環境。這不會超過兩分鐘的時間。
暫存環境
一旦你進入了你的暫存站點,進入Deployment選項卡,點選Begin setup按鈕。你會看到一個GitHub模版,讓Kinsta與你的GitHub賬戶連線。
GitHub部署標籤
現在,選擇你要拉動你的網站的 repo。
將Kinsta連線到GitHub。
最後,部署你的網站,並通過你的暫存網站URL訪問它。
立即部署按鈕。
這項功能目前還處於Beta階段,但很快每個Kinsta使用者都會有機會使用它。
如果你知道如何很好地使用Git和Kinsta,那麼它們將是一個強大的組合。
小結
如今,Git是網路開發中必須學習的工具,因為大多數時候你都會與他人合作,以建立最好的專案。
在這篇文章中,我們討論了在專案中使用Git的一些重要原因,並向你展示了在Git repo中進行協作的基本工作流程。
評論留言