以下是原文翻译成繁體中文的內容:
# Git - 進行更改
## 傳遞
你好,有抱負的程式設計師們!今天,我們將進入Git的精彩世界,並學習如何在專案中進行更改。作為你們親切的計算機科學老師,我會在這次旅程中為你們提供清晰的解釋、大量的範例,甚至還有個笑話或兩個。所以,戴上你們的虛擬安全帽,讓我們開始建立Git技能吧!
## 了解Git基礎
在我們跳進進行更改之前,讓我們快速複習一下Git是什麼。Git就像是你代碼的時光機。它讓你可以追蹤更改、與他人合作,甚至回到專案的前一個版本。是不是很酷?
### Git工作流程
在Git中,我們通常遵循以下工作流程:
1. 對你的文件進行更改
2. 暫存更改
3. 提交更改
4. 推送更改(如果正在與遠程倉庫合作)
現在,讓我們分解這些步驟,看看我們如何執行每一步。
## 對你的文件進行更改
我們Git之旅的第一步是真正對我們的專案文件進行更改。這可能包括添加新代碼、修改現有代碼,甚至是刪除文件。讓我們從一個簡單的範例開始。
假設我們有一個名為`hello.py`的文件,內容如下:
```python
print("Hello, World!")
現在,讓我們說我們想讓它更具個性化。我們將它更改為:
name = "Alice"
print(f"Hello, {name}!")
太好了!我們已經進行了第一次更改。但是Git如何知道這次更改呢?
檢查你的倉庫狀態
為了看到我們進行了哪些更改,我們可以使用git status
命令。這就像是在問Git,“嘿,有什麼新聞?”
git status
你可能會看到如下內容:
在 main 分支上
未暫存以供提交的更改:
(使用 "git add <file>..." 來更新即將提交的內容)
(使用 "git restore <file>..." 來棄置工作目錄中的更改)
修改: hello.py
未添加任何更改以供提交(使用 "git add" 和/或 "git commit -a")
Git告訴我們我們已經修改了hello.py
,但我們還沒有暫存這些更改。
暫存更改
現在,我們已經進行了更改,我們需要告訴Git我們想要在下一個提交中包含哪些更改。這個過程叫做暫存。
為了暫存我們對hello.py
的更改,我們使用git add
命令:
git add hello.py
如果我們想要一次性暫存所有更改的文件,我們可以使用:
git add .
專業提示:點(.)代表“當前目錄中的所有東西”。
暫存後,如果我們再次運行git status
,我們會看到:
在 main 分支上
即將提交的更改:
(使用 "git restore --staged <file>..." 來取消暫存)
修改: hello.py
太好了!我們的更改現在已經暫存,並準備提交。
提交更改
提交就像是在專案的一個特定時間點拍攝快照。這是說,“我想記住我專案的這個版本”。
為了提交我們暫存的更改,我們使用git commit
命令:
git commit -m "讓問候更具個性化"
-m
標誌讓我們可以直接在命令行中添加提交消息。總是嘗試寫清楚、描述性的提交消息。你未來的自己(和你的隊友)會感謝你的!
查看提交歷史
想要查看你所有的提交記錄嗎?使用git log
命令:
git log
這將顯示一個提交列表,從最近的開始:
提交 1234567890abcdef1234567890abcdef12345678 (HEAD -> main)
作者:你的名字 <[email protected]>
日期: Mon Jun 12 10:00:00 2023 +0000
讓問候更具個性化
提交 abcdef1234567890abcdef1234567890abcdef12
作者:你的名字 <[email protected]>
日期: Sun Jun 11 09:00:00 2023 +0000
初始提交
推送更改(對於遠程倉庫)
如果你正在與遠程倉庫(如GitHub)合作,你將想要與他人分享你的更改。這就是git push
的作用:
git push origin main
這將把你的提交推送到'origin'遠程倉庫的'main'分支。
常見Git命令
以下是我们在本文中提到的Git命令的便捷表格:
命令 | 描述 |
---|---|
git status |
檢查你的倉庫狀態 |
git add <file> |
對特定文件進行暫存 |
git add . |
暫存所有更改 |
git commit -m "message" |
提交暫存的更改並添加消息 |
git log |
查看提交歷史 |
git push origin <branch> |
將提交推送到遠程倉庫 |
結論
那就是了,各位!你們剛剛學會了Git進行更改的基本知識。記住,熟能生巧。不要害怕嘗試和犯錯誤——這是我們學習的方式!
在我多年的教學中,我見過學生從Git新手變成版本控制的大師。我最喜歡的一個時刻是當一個學生驚呼,“Git就像電子遊戲中的保存點,但對於代碼來說!”而你知道嗎?他絕對是對的!
所以,勇往直前,進行更改,經常提交,願你的代碼總是一次編譯成功(但如果不行——這就是調試的原因)。
快樂編程,並在下一課見到你們,我們將探索更多Git的魔法!
Credits: Image by storyset