文章目錄
- Git和Github的綁定方法與如何上傳至代碼倉庫
- 一. 注冊 GitHub 賬號
- 二.如何創建自己的代碼倉庫:
- 1.登入Github賬號,完成登入后會進入如下界面:
- 2.點擊下圖中紅色框選的按鈕中的下拉列表
- 3.選擇New repostitory
- 4.進入創建界面后,按照下圖所示操作,完成操作后點擊綠色的Create repository按鈕
- ? 1. `Initialize this repository with a README`
- 具體作用:
- 幾乎所有項目都應有一個 README,可以當成項目的名片+使用手冊
- ? 2. `.gitignore` 文件
- 具體作用:
- 示例(Python 項目):
- 推薦不設置 `.gitignore`,很容易把一些不該提交的文件誤上傳,引發沖突或體積變大。GitHub 提供了各種語言的模板,一鍵搞定,建議勾選!
- ? 3. `License`(許可證)
- 具體作用:
- 常見許可證類型:
- 推薦理由:
- 📌 總結建議:
- 三.Git綁定Github的方法
- 1. 將Git綁定到Github的作用
- 2. 下載Git并完成安裝
- 3. 打開Git bash
- 輸入指令:
- 引號中需要為Github賬號所綁定郵箱
- **A. Generating public/private rsa key pair.**
- **B. Enter file in which to save the key (/c/Users/23370/.ssh/id_rsa):**
- **C. Enter passphrase for "/c/Users/23370/.ssh/id_rsa" (empty for no passphrase): 請輸入登入密碼**
- **D. Enter same passphrase again:請你確定登入密碼(再次輸入)**
- **E. 最終生成的文件:**
- 4. 前往當前設備的密匙保存路徑,比如``/c/Users/23370/.ssh`` , 打開生成的ssh key文件id_rsa.pub并復制key字符串
- 5.點擊Github中的頭像,點擊側邊欄中的Settings,按照 GitHub → Settings → SSH and GPG keys → New SSH key(綠色按鈕)的步驟操作
- 🛠? Authentication Key vs Signing Key 的區別
- 🎯 最簡單理解:
- 📌 小例子
- 不設置 Signing Key 時:
- 配置了 Signing Key 后:
- 6. 在Git bash上驗證是否綁定成功
- (1)輸入指令: ssh -T git@github.com,回車后輸入剛才設置的密匙密碼(注意密碼是看不見的)
- (2)設置username和email,輸入如下指令:
- git config --global user.name "xxx"
- git config --global user.email "xxxx@xxx.com"
- **這里需要注意一點:因為 GitHub 上每一條提交記錄(commit)都和郵箱綁定。**所以在git config --global user.email "xxxx@xxx.com"中填寫的必須是Github綁定的郵箱
- ? `git config --global` 設置**一次就永久生效**
- 如何檢查一下你現在的 git 配置是否正確,直接輸入如下指令:
- 如果以后你想檢查自己當前的 `user.name` 和 `user.email` 配置,可以用:
- (3)設置git的本地倉庫
- 1、直接在需要上傳的文件目錄下右鍵點擊打開git bash
- 2、 創建本地git倉庫的方法:在git bash終端輸入指令git init
- 3、 上傳文件到Github的方式
- 解釋:
- 為什么會出現這個警告:
- 解決方法:
- **如果你希望 Git 始終保持一致的行結束符**:
- 記住重要的一點:
- 🏅 小tip:**這種方式只適用于已經被 Git 管理的文件,新文件還是需要 `git add`。**
- 總結流程
- (4)本地倉庫與github遠程倉庫關聯
- 1、查看Github代碼倉庫地址
- 2、 在Git bash上執行關聯操作,輸入如下指令(引號為代碼倉庫的地址信息)
- 為什么需要綁定倉庫?
- **在 GitHub 上創建一個新的倉庫**(假設你已經在 GitHub 上創建了一個名為 `my-repo` 的倉庫)
- 將遠程 GitHub 倉庫綁定到本地倉庫**
- **驗證遠程倉庫是否綁定成功**
- 3、 🎯 **在多個 GitHub 倉庫中選擇目標倉庫**
- **切換遠程倉庫**:
- 3.1 `git remote add` 的作用
- 3.2 origin vs 自定義遠程名
- 3.3 推送到不同的遠程
- 3.4 如何查看和管理已有遠程
- 具體解釋:
- 例子:
- 查看所有遠程倉庫:
- 小結:
- 4、 在Git bash上輸入如下指令,將文件從本地上傳到Github
- 1. **把本地的 `master` 分支推送到遠程的 `origin` 倉庫上**
- 2. **建立本地分支和遠程分支的關聯(Tracking)**
- 總結一句話:
- 小補充一下:
- (4)在Github上查看提交信息:
- (5)克隆Github代碼倉庫到本地(git@github.com:xxx此處使用的是代碼倉庫的地址)
Git和Github的綁定方法與如何上傳至代碼倉庫
一. 注冊 GitHub 賬號
- 所有團隊成員都需要各自注冊一個 GitHub 賬號:https://github.com/join
- 注冊完成后,建議:
- 配置好自己的頭像、昵稱
- 綁定常用郵箱
- 開啟雙因素認證(2FA,安全性更高)
二.如何創建自己的代碼倉庫:
1.登入Github賬號,完成登入后會進入如下界面:
2.點擊下圖中紅色框選的按鈕中的下拉列表
3.選擇New repostitory
4.進入創建界面后,按照下圖所示操作,完成操作后點擊綠色的Create repository按鈕
? 1. Initialize this repository with a README
💡作用:創建一個初始的
README.md
文件,用來介紹這個項目
具體作用:
- 項目說明的門面,通常包括:
- 項目簡介
- 安裝/運行方法
- 使用示例
- 作者和聯系方式
- 一旦有這個文件,倉庫就不是“空倉庫”,可以直接 clone 或 pull(不然初始倉庫 clone 會報錯)
- 會在 GitHub 頁面上直接顯示內容,美觀又實用
幾乎所有項目都應有一個 README,可以當成項目的名片+使用手冊
? 2. .gitignore
文件
💡作用:告訴 Git 哪些文件不應該提交到版本庫
具體作用:
- 忽略本地臨時文件、不必要的環境文件、防止“臟數據”污染倉庫
- 通常用于排除:
- 編譯生成的中間文件(如
.pyc
,dist/
) - 編輯器配置(如
.vscode/
,.idea/
) - 依賴庫(如
node_modules/
,.venv/
) - 系統文件(如
.DS_Store
、Thumbs.db
)
- 編譯生成的中間文件(如
示例(Python 項目):
gitignore復制編輯__pycache__/
*.pyc
*.pyo
*.pyd
.venv/
.env
.idea/
.vscode/
推薦不設置 .gitignore
,很容易把一些不該提交的文件誤上傳,引發沖突或體積變大。GitHub 提供了各種語言的模板,一鍵搞定,建議勾選!
? 3. License
(許可證)
💡作用:告訴別人你這個代碼允許別人怎么用
具體作用:
- 沒有許可證 = 默認 保留所有權利,別人不能合法地復制、修改、使用你的代碼
- 加上許可證 = 明確允許他人使用、修改、轉載,但可能有條件
常見許可證類型:
許可證 | 開源? | 可商用? | 要注明作者? | 要開源修改? | 特點 |
---|---|---|---|---|---|
MIT | ? | ? | ? | ? | 非常寬松,適合開源又希望推廣 |
Apache 2.0 | ? | ? | ? | ? | 保護專利權,適合商業項目 |
GPL | ? | ? | ? | ? | 必須開源修改后的代碼 |
無許可證 | ? | ? | ? | ? | 默認“版權保留”,不能用 |
推薦理由:
- 如果你是開源項目:建議選 MIT 或 Apache 2.0
- 如果你不希望別人隨便用,就不要加 license 或聲明專有協議
- 如果是私有倉庫,license 可選,但加一個也有規范感
📌 總結建議:
選項 | 是否建議勾選 | 說明 |
---|---|---|
README.md | ? 必勾選 | 項目說明文件,增強可讀性,避免空倉庫 |
.gitignore | ? 必勾選 | 忽略無用文件,保持倉庫整潔 |
License | ? 可視情況勾選 | 建議開源項目選擇 MIT/Apache,私有項目可略過 |
三.Git綁定Github的方法
1. 將Git綁定到Github的作用
本地 Git 倉庫可以同步到 GitHub。
其他成員可以 clone、pull、push 同一個遠程倉庫,一起協作開發。
GitHub 上還能:
- 創建 issue(任務追蹤)
- 提交 Pull Request(代碼審核)
- 做 CI/CD(自動測試部署)
- 備份代碼,防止丟失
- 顯示項目進度和文檔(README、Wiki)
2. 下載Git并完成安裝
git安裝教程
3. 打開Git bash
輸入指令:
ssh-keygen -t rsa -C "xxxx@xxx.com"
引號中需要為Github賬號所綁定郵箱
會有如下顯示:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/23370/.ssh/id_rsa):
Enter passphrase for "/c/Users/23370/.ssh/id_rsa" (empty for no passphrase):
Enter same passphrase again:
A. Generating public/private rsa key pair.
🔹 系統正在幫你生成一對新的密鑰(RSA算法,安全性很高)。
B. Enter file in which to save the key (/c/Users/23370/.ssh/id_rsa):
🔹 讓你指定密鑰文件保存的位置,默認存到:
/c/Users/23370/.ssh/id_rsa
? 通常直接回車就行,用默認路徑沒問題
C. Enter passphrase for “/c/Users/23370/.ssh/id_rsa” (empty for no passphrase): 請輸入登入密碼
🔹 讓你為私鑰文件設置一個密碼(叫做 passphrase)。
- 如果你輸入密碼,以后用這個 SSH 密鑰連接時,每次需要輸入這個密碼。
- 如果你直接回車(留空),就不用密碼,連接會更快(但稍微沒那么安全)。
D. Enter same passphrase again:請你確定登入密碼(再次輸入)
E. 最終生成的文件:
文件 | 內容 | 用途 |
---|---|---|
id_rsa | 私鑰 | 自己保存,絕不能泄露 |
id_rsa.pub | 公鑰 | 上傳到 GitHub 等服務器 |
4. 前往當前設備的密匙保存路徑,比如/c/Users/23370/.ssh
, 打開生成的ssh key文件id_rsa.pub并復制key字符串
5.點擊Github中的頭像,點擊側邊欄中的Settings,按照 GitHub → Settings → SSH and GPG keys → New SSH key(綠色按鈕)的步驟操作
🛠? Authentication Key vs Signing Key 的區別
項目 | Authentication Key(認證密鑰) | Signing Key(簽名密鑰) |
---|---|---|
主要用途 | 用來登錄 GitHub,比如 git push | 用來給提交(commit)做簽名,證明是你本人提交 |
Git 操作影響 | ? git push、pull、clone 必須靠它 | 🚫 不影響推拉,只管提交簽名 |
是否必需 | ? 必須有一把 | 🔸 可選(簽名是提升可信度用的) |
配置位置(GitHub) | Settings → SSH and GPG keys → “Authentication Key” | Settings → SSH and GPG keys → “Signing Key” |
本地配置額外操作? | 否,只關聯 remote 就好 | 是,需要告訴 Git 用哪把 Key 來簽名提交 |
使用感受 | 連接 GitHub必需,最基礎 | 提交更專業/可信,但新手可暫時不管 |
🎯 最簡單理解:
- Authentication Key:登錄 GitHub 的門禁卡 🛂
- Signing Key:每次提交(commit)的時候,在提交記錄上蓋一個你的私人印章 🪪
📌 小例子
不設置 Signing Key 時:
git commit -m "Fix bug"
#提交成功,但是 commit 記錄上沒有認證標識
配置了 Signing Key 后:
git commit -m "Fix bug"
#提交成功,GitHub上顯示 "Verified" 綠色小盾牌
這樣別人一看,就知道這是你本人提交的,不是別人偽造的。
6. 在Git bash上驗證是否綁定成功
(1)輸入指令: ssh -T git@github.com,回車后輸入剛才設置的密匙密碼(注意密碼是看不見的)
PS: 第一次輸入的時候會遇到如下顯示:(請輸入yes)
ssh -T git@github.com The authenticity of host 'github.com (20.205.243.166)' can't be established. ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?
第一次連接某個服務器(這里是 GitHub)時,SSH 客戶端不知道對方的身份,所以它提醒你:
?? “我第一次遇到 github.com,這臺機器的指紋是這個(SHA256:xxx),你要不要信任它?”
? 這相當于確認“你信得過 GitHub 的服務器”。
? 如果你輸入 yes
,SSH 會把 GitHub 的身份保存下來(記錄在你的 known_hosts
文件里),以后再連 GitHub,就不會再問你了。
隨后會有如下顯示:
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
Enter passphrase for key '/c/Users/23370/.ssh/id_rsa':
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
🔹 系統告訴你:
- 已經把 GitHub 的服務器信息(它的身份指紋)記錄到本地了。
- 下次連接 GitHub 時,不需要再問你了。
- 存在文件里:
~/.ssh/known_hosts
(? 正常現象,沒任何問題。)
Enter passphrase for key '/c/Users/23370/.ssh/id_rsa':
🔹 這里問你要SSH私鑰的密碼(passphrase)。
這是因為:
- 你在一開始生成 SSH 密鑰的時候,設置了passphrase(私鑰保護密碼)。
- 現在要用這把私鑰去連接 GitHub,所以系統要你輸入密碼來解鎖私鑰。
👉 只要輸入你當時設置的密碼就行(輸入的時候不會顯示星號 *,正常的)。
顯示 Hi Ac157OL! You’ve successfully authenticated, but GitHub does not provide shell access.即為連接成功
? Hi Ac157OL!:GitHub 跟你打招呼,確認你的賬號(Ac157OL)已經通過了身份驗證。
? You’ve successfully authenticated:你的 SSH 密鑰驗證通過了,已經可以正常連 GitHub。
? but GitHub does not provide shell access:GitHub 只是用來托管代碼的,它不會給你一個遠程終端(shell),所以你不能像登錄服務器一樣直接操作。
(2)設置username和email,輸入如下指令:
git config --global user.name “xxx”
git config --global user.email “xxxx@xxx.com”
即使已經在Github完成了SSH key的綁定,但是依舊需要設置username和email這兩個參數,原因如下:
項目 | 說明 |
---|---|
SSH連GitHub | 只是讓你的電腦可以連上GitHub服務器,身份驗證通過了。 |
git config --global user.name/user.email | 是告訴 Git:以后每次你提交(commit)代碼時,署名用哪個名字和郵箱。 |
- SSH連接 = “門禁卡”
→ 你刷卡進公司了 - git config 設 username/email = “在文件上簽名”
→ 你在公司提交的每一份文件上,都要簽上你的名字和郵箱,告訴別人這是誰寫的
👉 不設 username/email,git commit 也能做,但提交記錄上就沒有明確署名或者是默認的,很亂很丑。
**這里需要注意一點:因為 GitHub 上每一條提交記錄(commit)都和郵箱綁定。**所以在git config --global user.email "xxxx@xxx.com"中填寫的必須是Github綁定的郵箱
- 如果你設置了正確的郵箱(和 GitHub 賬號里的郵箱對應),GitHub 提交記錄上會顯示你的頭像和鏈接到你的 GitHub 賬號。
- 如果亂填一個郵箱(比如打錯了),GitHub會顯示一個小問號 ?,無法正確關聯到你的賬號。
(郵箱才是 GitHub 識別身份的關鍵!不是靠 SSH名字)
設置項 | 要求 | 說明 |
---|---|---|
git config --global user.name | 隨便填(當然建議和GitHub用戶名一樣,看起來正規一點) | 只是一個“提交署名”的顯示名字,不影響 GitHub 識別身份。 |
git config --global user.email | 必須和你 GitHub 賬戶綁定的郵箱一致 | GitHub靠郵箱來識別你的提交歸屬,郵箱錯了,GitHub認不出來。 |
? git config --global
設置一次就永久生效
--global
代表:這個配置是全局配置,只要在你電腦上,用Git提交,都會默認用這個name和email。- 只需要執行一次,以后不用每次提交都再寫。
如何檢查一下你現在的 git 配置是否正確,直接輸入如下指令:
git config --global --list
就能看到現在生效的 user.name
和 user.email
!
如果以后你想檢查自己當前的 user.name
和 user.email
配置,可以用:
git config --global user.name
git config --global user.email
Git會直接告訴你現在生效的是哪一組設置。
(3)設置git的本地倉庫
1、直接在需要上傳的文件目錄下右鍵點擊打開git bash
2、 創建本地git倉庫的方法:在git bash終端輸入指令git init
內容 | 意思 |
---|---|
git init | 你執行了初始化命令 |
Initialized empty Git repository | Git告訴你:“倉庫已經創建好了,當前是空的。” |
Git 就會在這個文件夾下,悄悄建一個隱藏目錄 .git
,用來記錄所有的版本變化、提交記錄、分支信息。
- 🔹 沒有
git init
,Git 是不會管你文件怎么改的。 - 🔹 一旦
git init
,這里所有變化 Git 都能追蹤、記錄。
如果你想驗證一下 .git
真的在,可以在 Git Bash 里敲:
ls -a
它會列出所有文件(包括隱藏文件),你應該能看到一個 .git/
文件夾。
3、 上傳文件到Github的方式
Git是分兩步提交的,
3.1 將文件添加到 Git 暫存區:用 git add
把你指定的文件,標記為"準備好要提交",放到 Git 的“暫存區(staging area)”。
git add README.md
git add ./*
git add README.md
是只添加README.md
一個文件。git add ./
是把當前目錄下所有文件都添加進去(相當于:全都準備好要提交了)。
3.2 正式提交到本地倉庫
git commit -m "本次提示信息" (這里的提示信息填寫什么都可以,可以說明修改的部分)
把剛剛 git add
過的文件,真正記錄到 Git 倉庫歷史中。
并且用 -m "提示信息"
給這次提交寫一個小備注,告訴自己和別人:“這次提交是干了啥”。
- 例子:
git commit -m "初始化項目"
- 例子:
git commit -m "添加了登錄模塊"
(commit是一次"快照"保存,給未來版本回滾提供依據)
git add
:把文件添加到暫存區
git commit
:將暫存區的文件提交到本地 Git 倉庫,并生成一條提交記錄。
PS:如果文件名中有空格,你可以將整個文件名用引號包裹起來(單引號或雙引號都可以),這樣 Git 就能正確識別路徑。
例如:
git add 'AI Agent-V10'
或者:
git add "AI Agent-V10"
如果你不想使用引號,也可以使用反斜杠 \
來轉義空格。這樣可以確保空格不會被分開:
git add AI\ Agent-V10
如果出現如下信息
$ git add 'AI Agent-V10'
warning: in the working copy of 'AI Agent-V10/AI Agent/test_model.py.code-workspace', LF will be replaced by CRLF the next time Git touches it
解釋:
- LF (Line Feed) 和 CRLF (Carriage Return + Line Feed) 都是行結束符,用來標識一行的結束。
- LF (
\n
) 是 Unix 和 Linux 系統中使用的行結束符。 - CRLF (
\r\n
) 是 Windows 系統中使用的行結束符。
- LF (
- Git 的默認行為是根據你的操作系統來管理文件的行結束符。在 Windows 上,Git 會將文件中的 LF(Unix 樣式行結束符)轉換為 CRLF(Windows 樣式行結束符),當 Git 操作這些文件時,會自動進行轉換。
- 警告信息提醒你,下次 Git 在處理這個文件時,會把文件中的 LF 轉換成 CRLF。
為什么會出現這個警告:
- 你的文件在本地工作區(working directory)中使用了 LF 作為行結束符。
- Git 會在下次操作這個文件時將其轉換為 CRLF,以符合 Windows 系統的行結束符標準。
解決方法:
這個警告本身并不會導致提交失敗。它只是告訴你,Git 會在下一次觸摸這個文件時,自動將行結束符轉換成 CRLF。
如果你不想看到這個警告或希望 Git 以特定方式處理行結束符,可以調整 Git 的配置。
如果你希望 Git 始終保持一致的行結束符:
你可以使用以下命令來配置 Git 處理行結束符:
git config --global core.autocrlf true
這個設置會讓 Git 在提交時自動將 LF 轉換為 CRLF,而在檢出(checkout)時自動將 CRLF 轉換回 LF,適用于 Windows 系統。
記住重要的一點:
沒有 git add
,提交會失敗,因為 Git 不知道你想提交哪些文件。
git commit
是在提交之前對暫存區的文件進行確認和打包(這時才會把你之前用 git add
加入的文件提交)。
git commit
不會“重新”添加文件,它僅僅是提交暫存區的內容,并且會生成一條提交記錄。如果沒有使用 git add
,則沒有任何文件被加入提交
🏅 小tip:這種方式只適用于已經被 Git 管理的文件,新文件還是需要 git add
。
如果忘記加 git add
,提交時可以加 git commit -a
,它會自動把所有已經跟蹤的文件(已被 Git 管理的文件)加到暫存區,再提交:
git commit -a -m "提交所有修改"
總結流程
步驟 | 命令 | 解釋 |
---|---|---|
1 | git init | 把這個文件夾變成 Git倉庫(開始版本管理) |
2 | git add 文件名 或 git add ./ | 把文件放入"準備提交"的暫存區 |
3 | git commit -m "備注" | 真正提交到本地倉庫,寫一條變更記錄 |
你可以用下面的命令查看提交記錄(驗證成功了沒):
git log
可以看到每一次 commit 的 ID、作者、提交時間和備注。
(4)本地倉庫與github遠程倉庫關聯
1、查看Github代碼倉庫地址
2、 在Git bash上執行關聯操作,輸入如下指令(引號為代碼倉庫的地址信息)
git remote add origin “git@github.com:xxxx"
為什么需要綁定倉庫?
- 本地倉庫只是你的代碼保存在本地的地方,而**遠程倉庫(如 GitHub)**才是真正托管你的代碼的地方。
- 當你提交(
git commit
)時,Git 只會保存在本地倉庫,它并不會自動上傳到 GitHub。 - 為了將提交推送到遠程 GitHub 倉庫,你需要明確告訴 Git 要推送到哪個遠程倉庫。
需要使用 git remote add
命令將本地倉庫與 GitHub 上的倉庫進行綁定,具體步驟如下:
在 GitHub 上創建一個新的倉庫(假設你已經在 GitHub 上創建了一個名為 my-repo
的倉庫)
- 假設進入 GitHub,點擊“New repository”按鈕,創建一個新的倉庫,命名為
my-repo
。
將遠程 GitHub 倉庫綁定到本地倉庫**
在本地倉庫的 Git Bash 中,使用以下命令綁定 GitHub 倉庫:
git remote add origin https://github.com/你的用戶名/my-repo.git
origin
是 Git 默認的遠程倉庫名稱。https://github.com/你的用戶名/my-repo.git
是你 GitHub 倉庫的 URL,你可以在 GitHub 倉庫頁面找到它。
驗證遠程倉庫是否綁定成功
你可以使用以下命令檢查綁定情況:
git remote -v
如果綁定成功,會顯示類似:
origin https://github.com/你的用戶名/my-repo.git (fetch)
origin https://github.com/你的用戶名/my-repo.git (push)
3、 🎯 在多個 GitHub 倉庫中選擇目標倉庫
如果你有多個遠程倉庫,你可以使用 不同的名字 來區分這些遠程倉庫。例如,如果你有兩個 GitHub 倉庫 repo1
和 repo2
,你可以這樣設置:
git remote add repo1 https://github.com/你的用戶名/repo1.git
git remote add repo2 https://github.com/你的用戶名/repo2.git
然后,推送到指定的遠程倉庫:
git push repo1 master # 推送到 repo1
git push repo2 master # 推送到 repo2
切換遠程倉庫:
你還可以隨時查看、刪除或修改綁定的遠程倉庫:
- 查看遠程倉庫:
git remote -v
- 刪除遠程倉庫:
git remote remove origin
- 修改遠程倉庫 URL:
git remote set-url origin 新的倉庫地址
綁定本地倉庫和 GitHub 倉庫:必須通過 git remote add origin <GitHub倉庫URL>
來綁定。
推送到指定倉庫:如果有多個倉庫,可以在 git push
時明確指定倉庫名,如 git push repo1 master
。
查看遠程倉庫:使用 git remote -v
查看已經綁定的遠程倉庫。
3.1 git remote add
的作用
git remote add <遠程名> <倉庫URL>
<遠程名>
:給這個遠程倉庫起的一個本地“別名”,方便后面引用。例如origin
、repo1
、backup
、upstream
……<倉庫URL>
:你在 GitHub(或其他托管平臺)上創建的那個倉庫的地址。
3.2 origin vs 自定義遠程名
-
origin
- 這是 Git 默認的遠程名,幾乎所有教程里把主倉庫都叫
origin
。 - 當你
git clone
一個倉庫時,Git 會自動把源 ?? 設為origin
。
- 這是 Git 默認的遠程名,幾乎所有教程里把主倉庫都叫
-
自定義(repo1、repo2、backup……)
-
如果你還想推送到第二個、第三個倉庫,就可以再
git remote add
一個新的遠程名:git remote add repo1 https://github.com/你的用戶名/repo1.git git remote add repo2 https://github.com/你的用戶名/repo2.git
-
這里的
repo1
、repo2
只是一種示例命名,完全可以換成任何你能一眼看出用途的名字,比如origin
、mirror
、backup
。
-
3.3 推送到不同的遠程
-
如果你只有一個遠程(
origin
),那就:git push origin master
-
如果你綁定了兩個遠程:
push repo1 master # 把 master 分支推到 repo1 git push repo2 master # 把 master 分支推到 repo2
-
這樣,同一份代碼、同一個分支,可以同步推送到多個遠程倉庫。
3.4 如何查看和管理已有遠程
-
查看
git remote -v
-
修改 URL
git remote set-url repo1 新的地址
-
刪除
git remote remove repo2
**注意:git remote add origin
只能為 本地倉庫 添加 一個主遠程倉庫
而這個 origin
通常是你最初推送或克隆時默認綁定的倉庫。
具體解釋:
origin
是 Git 中的一個默認遠程倉庫名,當你克隆一個倉庫時,Git 會自動將這個遠程倉庫命名為origin
,并將其作為默認的推送和拉取源。- 每個本地倉庫只能有 一個
origin
,但是你可以通過git remote add
命令為一個本地倉庫添加 多個其他遠程倉庫,這些遠程倉庫的名字可以是自定義的(如repo1
,repo2
,backup
,staging
等)。
例子:
假設你有一個本地倉庫,你想同時推送到 GitHub 和 GitLab:
-
首先添加 GitHub 倉庫(作為
origin
):git remote add origin https://github.com/你的用戶名/your-repo.git
這里的
origin
是默認的遠程倉庫名。 -
再添加 GitLab 倉庫(可以使用自定義名字):
git remote add gitlab https://gitlab.com/你的用戶名/your-repo.git
查看所有遠程倉庫:
git remote -v
輸出會類似于:
origin https://github.com/你的用戶名/your-repo.git (fetch)
origin https://github.com/你的用戶名/your-repo.git (push)
gitlab https://gitlab.com/你的用戶名/your-repo.git (fetch)
gitlab https://gitlab.com/你的用戶名/your-repo.git (push)
小結:
origin
是默認的遠程倉庫名,且每個本地倉庫只能有一個origin
。- 你可以為同一個本地倉庫添加多個遠程倉庫,只要它們的名字不同(例如
origin
、repo1
、repo2
等)。 origin
并不限制你只能添加一個倉庫,其他自定義的遠程倉庫名沒有限制。
4、 在Git bash上輸入如下指令,將文件從本地上傳到Github
當你在本地倉庫里執行這條指令:
git push -u origin master
它做了兩件事情:
1. 把本地的 master
分支推送到遠程的 origin
倉庫上
origin
是你本地設置的遠程倉庫名(通常指向 GitHub 上那個倉庫地址)。master
是你要推送的本地分支名字(現在有些倉庫默認是main
,但如果你本地分支叫master
,就寫master
)。- 這一步會真正把你的代碼文件上傳到 GitHub 倉庫上,GitHub 頁面上也能看到文件了。
2. 建立本地分支和遠程分支的關聯(Tracking)
-u
是--set-upstream
的簡寫。- 它的作用是告訴 Git:“以后這個本地分支(master)默認關聯到遠程的 origin/master 分支”。
- 好處是以后就可以直接用更短的指令推送或者拉取,比如:
- 推送:
git push
- 拉取:
git pull
- 推送:
- 不需要每次都敲一大串
git push origin master
。
總結一句話:
? git push -u origin master
會把代碼傳到 GitHub,并且幫你把本地分支和遠程分支自動關聯好,以后操作就方便很多了。
小補充一下:
- 如果是第一次推送(第一次建立遠程倉庫的連接),一定要用
-u
。 - 之后繼續更新代碼,只需要在本地改完 ?
git add .
?git commit -m "描述"
?git push
,就可以了,不用再加origin master
,很省事!
(4)在Github上查看提交信息:
點擊如下按鈕,選擇分支(該分支名稱和提交時指令git push -u origin master中的master有關系)
(5)克隆Github代碼倉庫到本地(git@github.com:xxx此處使用的是代碼倉庫的地址)
git clone git@github.com:xxx