想像一下,你加入了班加羅爾一家金融科技新創公司。你的團隊正在開發一款必須超可靠的行動支付應用程式。第一天上班,你的經理說:
設定 Git 並進行首次提交。這就是我們追蹤專案中每一行程式碼的方式。
您是新手,因此讓我們逐步進行,並清楚地解釋每個 Git 命令。
步驟 1:安裝 Git
首先,您需要安裝 Git。
視窗:
下載適用於 Windows 的 Git → 執行安裝程式 → 開啟 Git Bash。
或者,如果您喜歡終端:
winget install --id Git.Git -e
macOS:
brew install git # using Homebrew
# OR
xcode-select --install
Linux(Ubuntu/Debian):
sudo apt update
sudo apt install git
核實:
git --version
如果它顯示 git 版本 2.xx,那麼您就準備好了!
第二步:告訴 Git 你是誰
每次提交後,Git 都會保存您的姓名和電子郵件地址。這有助於團隊了解誰做了哪些更改。
git config --global user.name "Ravi Kumar"
git config --global user.email "[email protected]"
首先,什麼是 git config?
git → 是我們正在使用的工具(版本控制系統)。
config → 代表配置 → 基本上是 Git 的「設定」。
因此,git config =“嘿 Git,我想設定或更改你的設定。”
檢查設定:
“將此設定套用到這台電腦上的所有 Git 專案。”
如果沒有 --global,Git 只會將設定套用到一個特定專案。
例子:
如果 Ravi 在他的筆記型電腦上處理 5 個不同的專案,設定 --global 意味著 Git 知道他在所有這些專案中的身份,而不僅僅是一個。
user.name 和 user.email 是什麼?
每次提交(在 Git 中保存快照)時,Git 都會記錄:
• Who made the change (user.name)
• Their email address (user.email)
因此,將來任何查看該專案的人都可以看到:
`作者:拉維‧庫馬爾[email protected]
日期:2025年9月17日星期二
訊息:新增了「忘記密碼」按鈕`
這就像在進行編輯時簽名一樣。
git config --list
此命令詢問 Git:“顯示您目前知道的所有設定(配置)。”
在實際團隊中,這一點至關重要。如果 Ravi 破解了登錄,每個人都知道該打給誰。
步驟3:建立專案並初始化Git
假設您的團隊正在啟動「銀行網路」服務。
mkdir banking-web && cd banking-web
git init
mkdir → 代表建立目錄。
A directory is just another word for a folder.
So this command means: “Create a new folder called banking-web here.”
想像一下,進入你的桌面,右鍵單擊,然後選擇:
新建資料夾→將其命名為banking-web
cd → 代表更改目錄。
它告訴終端:“進入我剛剛建立的資料夾。”
所以現在,Ravi 的「目前位置」位於 banking-web 資料夾內。
(就像雙擊檔案總管/Finder 中的資料夾打開它一樣)。
&&
這是一個小技巧:
• && means → “Run the next command only if the previous one worked successfully.”
所以這裡:
1. Make the folder (mkdir banking-web)
2. If that succeeds, go inside it (cd banking-web).
全部都在一行。
git init
現在魔術來了:
git init → 在目前資料夾內初始化一個全新的 Git 儲存庫。
它在 banking-web 內建立一個名為 .git/ 的隱藏資料夾。
該 .git/ 資料夾儲存:
Commit history
Branches
Configurations
基本上,Git 是這個專案的大腦。
如果沒有 git init,您的資料夾只是一個普通資料夾。
使用 git init,您的資料夾現在由 Git 追蹤 → 每個變更都可以儲存、還原或協作。
總結
僅需這兩行:
`mkdir banking-web && cd banking-web
git init`
我們說的是:
1. Create a new project folder called banking-web.
2. Go inside it.
3. Turn it into a Git project (so changes are tracked).
所以,簡單來說:
mkdir + cd = 建立工作區。
git init = 告訴 Git,“嘿,開始跟踪我在這個工作區中所做的一切。”
步驟4:建立文件
建立第一個檔案:
echo "# Banking Web App" > README.md
所以這裡,echo "#Banking Web App" 的意思是:列印文字 #Banking Web App。
通常,echo 只會在螢幕上顯示文字。但是 > 符號會將輸出重定向到檔案中。
">" 表示 → “不要在螢幕上顯示它。而是將其放入此文件中。”
如果檔案不存在 → 則建立它。如果檔案已經存在 → 則覆蓋它。
.md 表示 Markdown 檔案-一種用於編寫帶有標題、粗體、清單等文字的輕量級格式。
Markdown 中的 # 表示 → 標題 1。因此 # Banking Web App 將呈現為一個大標題:Banking Web App
我們說的是:
1. Use echo to print the text # Banking Web App.
2. Redirect (>) that text into a new file called README.md.
因此執行此命令後:
• A file named README.md will be created in the folder.
• Its contents will be:
因此,此指令會建立一個新的 README 文件,標題為:Banking Web App
現在檢查一下 Git 的想法:
git status
輸出:
Untracked files:
README.md
為什麼是「未追蹤」?
因為 Git 看到該檔案存在但尚未追蹤它。
步驟 5:暫存文件
您決定:“是的,我想在 Git 中保存 README.md。”
因此你將其安排如下:
git add README.md
它的意思是:「嘿 Git,請在下次儲存(提交)時包含此文件
現在再檢查一下:
git status
輸出:
Changes to be committed:
new file: README.md
暫存區就像一個購物籃——您可以準確地選擇下次提交時要儲存的變更。
步驟 6:提交文件
現在您將此快照儲存在 Git 的歷史記錄中:
git commit -m "Initial commit: add README"
git commit → 告訴 Git:“保存暫存區中所有內容的快照。”
-m → 表示「訊息」。
您無需打開編輯器,而是在這裡用引號對提交進行描述。
「初始提交:新增 README」→您的描述。
這就是人們後來查看該專案時在歷史記錄中顯示的內容。
在真實的公司中,每一次提交都會講述一個故事:
• Who made it.
• What changed.
• When it happened.
步驟 7:查看你的提交
查看歷史記錄:
git log --oneline
git log = 顯示專案中的提交(快照)歷史記錄。
--oneline標誌讓歷史記錄簡短而簡單:
•Only shows:
• Short commit ID (first 7 characters of the hash)
• Commit message
輸出:
c1a2b3c Initial commit: add README
這是您的第一張快照—永遠載入史冊。
步驟 8:做出改變
一週後,您在登入頁面上新增了「忘記密碼」連結。
mkdir src
echo '<a href="/forgot-password">Forgot Password?</a>' > src/login.html
檢查狀態:
git status
輸出:
Untracked files:
src/login.html
階段:
git add src/login.html
提交:
git commit -m "Add Forgot Password link on login page"
現在你的倉庫有兩個提交:
1. Add README
2. Add Forgot Password link
步驟 9:了解 Git 中的檔案狀態
這是您剛剛經歷的文件生命週期:
1. Untracked → file exists, not added to Git.
2. Staged → selected for commit (git add).
3. Committed → permanently saved in history (git commit).
4. Modified → file was edited after commit but not yet staged.
檢查:
git status
這個簡單的命令就是你最好的朋友——它會告訴你你到底在哪裡。
步驟 10:忽略垃圾文件
在實際的 IT 專案中,您不希望在 Git 中存在日誌、快取或個人筆記。
創作.gitignore:
echo "node_modules/\n*.log\n.env" > .gitignore
git add .gitignore
git commit -m "Add .gitignore for temp files"
步驟 11:本地與遠端
目前,所有內容都在本地(即僅存在於您的筆記型電腦上)。但團隊可以使用遠端儲存庫(GitHub、GitLab、Bitbucket)進行協作。
解決方案 → 遠端倉庫。這就像 GitHub/GitLab 上的共享雲端備份。
連接到遠端:
git remote add origin https://git hub.com/acme/banking-web.git
git branch -M master
git push -u origin master
git remote add origin https://git hub.com//.. //banking-web.git
git remote add → 意思是「將我的本地 repo 連接到伺服器上的另一個 repo」。
origin → 是遠端倉庫的暱稱(別名)。
按照慣例,主遙控器始終被稱為原點。
https://git hub.com//..//banking-web.git → GitHub 儲存庫的 URL。
可以這樣想:“告訴我的筆記型電腦:這個專案也存在於 GitHub 的這個地址上。”
git 分支 -M 主分支
git branch -M → 重新命名目前分支(如果需要則強制重新命名)。
預設情況下,您的分支可能被稱為 main(新 Git 版本)或 master(舊版本)。
這確保本地和遠端使用相同的分支名稱。
git push -u 來源主伺服器
git push → 從本地倉庫上傳提交 → 到遠端倉庫。
origin → 遠端倉庫暱稱。
master → 您正在推送的分支。
-u(設定上游)→告訴 Git:
“從現在開始,當我輸入 git push 或 git pull 而不使用額外的參數時,預設使用 origin/master。”
這是您第一次將專案傳送到 GitHub。
現在 Ravi、Priya 和 Neha 可以 git clone 並一起工作。
該 repo 現在同時存在於您的筆記型電腦和 GitHub 上。
您的隊友不需要您的筆記型電腦 - 他們只需執行:
git clone https://github.com/acme/banking-web.git
現在他們有了自己的本地倉庫副本。
今天的 Git 之旅
• git init → Start a repo.
• git status → See what’s happening.
• git add → Stage files.
• git commit -m "msg" → Save snapshot.
• .gitignore → Keep junk out.
• git log --oneline → Review history.
• git push → Share with team.
例子
每個開發人員建立提交,推送到遠程,並拉取彼此的更改。
如果沒有 Git,檔案就會被覆蓋。有了 Git,一切都可以追蹤、可逆,而且易於協作。
筆記:
可以將 Git 想像為三個區域:
工作目錄
暫存區(索引)
儲存庫(提交)
Git 不只是一個工具,它更是你的時間機器和安全網。所有變更都會被儲存,不會遺失任何內容,讓團隊合作更加順暢。
在你工作的第一天,如果你只知道這些指令,你就會覺得自己是開發團隊的一員。
原文出處:https://dev.to/swathi_macha/git-from-zero-to-first-commit-developer-journey-begins-170d