blob: 2a479a6b3f316edcefd6ae67b8d8ba340343a942 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
---
title: Git and GitHub
slug: Learn/Tools_and_testing/GitHub
tags:
- Beginner
- GitHub
- Learn
- Web
- git
---
<div>{{LearnSidebar}}</div>
<p class="summary">所有開發者都將使用到一些<strong>版本控制系統</strong> (<strong> V</strong>ersion <strong>C</strong>ontrol <strong>S</ strong>ystem, 簡稱<strong> VCS</strong> ), 這種工具讓人們可以與其他開發者同公開發一個專案同時避免了不必要的重複與衝突,如果遇到什麼問題,也可以及時回退到之前的版本。當今最流行的<strong>版本控制系統</strong>(至少在網路開發者中是這樣的)是<strong> Git</strong>,和與之關聯的程式社區網站<strong> GitHub</strong >。這篇短文將帶你簡單地了解他們。</p>
<h2 id="Overview">概述</h2>
<p>版本控制系統在軟體開發過程中是不可或缺的:</p>
<ul>
<li>我們很少獨自完成一個專案,而在分工合作的同時我們都會有與他人的工作相衝突的風險:尤其是當兩個人同時嘗試修改同一段程式碼的時候。所以我們需要有相應的機制用以避免這種情況。</li>
<li>不管是自己一人或與他人一起開發專案時,總希望能夠程式碼能夠及時保存,這樣就可以避免像電腦突然損壞而丟失程式碼的局面。</ li>
<li>如果後期發現了問題,我們可能還會想要回到比較早的版本。有些人在做自己的專案時透過創建同一文件的不同版本,例如 <code>myCode.js</code>, <code>myCode_v2.js</code>, <code>myCode_v3.js</code>, <code>myCode_final.js< /code>, <code>myCode_really_really_final.js</code> 之類的文件用於保存歷史版本,但這個方法不可靠,且容易出錯。</li>
<li>不同的團隊成員也會需要創建他們自己的獨特的版本(在Git中叫做<strong>branches</strong>(分支)),他們在這裡添加一些新的功能特性,然後通過一些可控的方法(在GitHub 中我們使用<strong>pull request</strong>(提取要求))將其合併到原來的主幹項目中。</li>
</ul>
<p>版本控制系統提供了能夠滿足以上需求的工具。 <a href="https://git-scm.com/">Git</a> 是版本控制系統的範例,而<a href="https://github.com/">GitHub</a>是一個為個人或團隊操作Git儲存庫( Git Repositories) 提供了Git伺服器和一系列非常實用的工具的網站+基礎設施。它提供了回報程式碼錯誤、檢查工具以及分配任務和任務狀態等項目管理工具等等。</p>
<div class="notecard note">
<p> <strong>注意</ strong>:Git實際上是一個<em>分散式</ em>版本控制系統,這意味著包含程式碼庫的儲存庫的完整副本是在您的電腦上(以及其他所有人)上創建的。 您可以對自己的副本進行更改,然後將這些更改推送回伺服器,管理員將決定是否將您的更改與主副本合併到主幹上。</ p>
</ div>
<div class="callout">
<h4 id="Looking_to_become_a_front-end_web_developer">嘗試成為一位前端網頁程式開發者?</h4>
<p>我們準備了一系列的課程當中包括核心的資訊,讓你往你的目標(成為一位前端網頁程式開發者)邁進。</p>
<p><a href="/en-US/docs/Learn/Front-end_web_developer"><strong>開始學習</strong></a></p>
</div>
<h2 id="Prerequisites">事前準備</h2>
<p>要使用Git和GitHub,你需要:</p>
<ul>
<li>一台有安裝Git的電腦 (請參考 <a href="https://git-scm.com/downloads">Git 下載頁面</a>)。</li>
<li>一個工具來使用Git,取決於你喜歡用哪類型工具,你可以使用一個 <a href="https://git-scm.com/downloads/guis/">Git GUI client</a>(我們建議使用GitHub Desktop, SourceTree or Git Kraken)或就使用terminal window。即便你傾向使用GUI,實際上使用terminal window可以幫助你學習一些git的基本指令。</li>
<li>一個 <a href="https://github.com/join">GitHub 帳號</a>。如果你還沒有帳號,建議使用提供的連結去註冊一個帳號並開始用。</li>
</ul>
<p>就事前必備知識而言,您無需了解所有有關Web開發,Git / GitHub的知識即可開始使用此版本控制系統。 但是,建議您了解一些開發程式碼的知識,並嘗試把一些程式碼存儲在你的儲存庫中!</ p>
<p>最好還具有一些基本的終端機知識,例如在目錄之間移動,創立文件以及修改系統的<code> PATH </ code>。</ p>
<div class="notecard note">
<p> <strong>注意</ strong>:Github不是唯一網站/工具集讓你使用Git。 您可以嘗試其它替代方法,例如<a href="https://about.gitlab.com/"> GitLab </a>,也可以嘗試設置自己的Git伺服器並使用它來取代GitHub。在本章節中,我們僅停留在GitHub使用教學上。</ p>
</ div>
<h2 id="Guides">其它指南</h2>
<p>請注意,下面的連結將您帶到外部站點上的資源。最終,我們的目標是開設自己的專屬Git / GitHub課程,但目前,這些課程將幫助您掌握相關主題。</ p>
<dl>
<dt> <a href="https://guides.github.com/activities/hello-world/">Hello, World(來自GitHub)</a> </ dt>
<dd>這是一個很好的起點-本實用指南可讓您直接使用GitHub,學習Git的基礎知識,例如創建儲存庫和分支,進行提交以及合併提取要求。</ dd>
<dt> <a href="https://guides.github.com/introduction/git-handbook/"> Git使用手冊(來自GitHub)</a> </ dt>
<dd>這本Git手冊更深入地介紹了版本控制系统是什麼,儲存庫是什麼,基本GitHub模如何運行,Git命令和範例等等。</ dd>
<dt> <a href="https://guides.github.com/activities/forking/">Forking Projects分叉專案(來自GitHub)</a> </ dt>
<dd>當您想為別人的程式碼做貢獻時,Forking Projects分叉專案是必不可少的。本指南說明了方法。</ dd>
<dt> <a href="https://help.github.com/en/articles/about-pull-requests">關於提取要求(來自GitHub)</a> </ dt>
<dd>有用的指南,用於管理請求請求,將建議的程式碼更改傳遞給人們的儲存庫以供考慮。</ dd>
<dt> <a href="https://guides.github.com/features/issues/">掌握問題(來自GitHub)</a> </ dt>
<dd>問題就像是GitHub項目的論壇,人們可以在其中提出問題和報告問題,還可以管理更新(例如,分配人員來解決問題,澄清問題,讓人們知道問題已解決)。本文將提供你有關問題的必備知識。</ dd>
</ dl>
<div class="blockIndicator note">
<p><strong>溫馨提示:</strong> 你還可以用Git跟GitHub來完成更多的事情,但我們認為,如果你想要有效地使用 Git,上面的這些知識是至少應該具備的。當你更深入地了解Git時,你將會意識到,當你開始使用更加複雜的指令時會更容易出錯。但不要擔心,即使是專業的網路工程師有時都會感到困惑,並通過網路檢索或<a href="https://github.com/k88hudson/git-flight-rules">Flight rules for Git</a>和<a href="https://dangitgit.com/"> Dangit, git!</a> 這樣的網站來尋找答案。</p>
</div>
<h2 id="See_also">也可以參考以下</h2>
<ul>
<li><a href="https://guides.github.com/introduction/flow/">【理解GitHub流程】</a></li>
<li><a href="https://git-scm.com/docs">【指令列表】</a></li>
<li><a href="https://guides.github.com/features/mastering-markdown/">【掌握Markdown 格式】</a>(在網頁上、評論區常用的格式以及<code >.md</code> 文件所使用的格式,GitHub中的介紹文件(readme.md)即用這種格式書寫)。</li>
<li><a href="https://guides.github.com/features/pages/">【入門 Github 頁面】</a>(如何在GitHub上發布示例和網站)。</li>
<li><a href="https://learngitbranching.js.org/">【學習 Git 的分支結構】</a></li>
<li><a href="https://github.com/k88hudson/git-flight-rules">【Git 中的飛行法則】</a>( 在Git中實現特定功能的非常有用的方法介紹綱要,包括如何在出錯時糾錯等)。</li>
<li>
<p><a href="https://dangitgit.com/">【該死的Git,Git !】</a>(另一個十分有用的方法介紹綱要,特別是在出錯的時候進行糾正的方法)。</p>
</li>
</ul>
|