GitHub倉(cāng)庫(kù)代碼更新

1. 將本地的代碼更改推送到“已存在的”GitHub倉(cāng)庫(kù)瓢娜,需要經(jīng)歷以下一系列的步驟:

1)git remote -v

首先,確保您已經(jīng)安裝了git拆又,并通過(guò)命令行或終端導(dǎo)航到您的本地git倉(cāng)庫(kù)所在的目錄。

使用以下命令查看當(dāng)前的git倉(cāng)庫(kù)配置信息,確認(rèn)已設(shè)置了與GitHub倉(cāng)庫(kù)的遠(yuǎn)程連接:

git remote -v

您應(yīng)該能夠看到列出了一個(gè)或多個(gè)名為 “origin” 的遠(yuǎn)程倉(cāng)庫(kù)钢坦,其中包含GitHub倉(cāng)庫(kù)的URL。

2)git remote add

如果沒(méi)有列出任何遠(yuǎn)程倉(cāng)庫(kù)啥酱,您需要將GitHub倉(cāng)庫(kù)的URL添加為遠(yuǎn)程倉(cāng)庫(kù)爹凹。使用以下命令添加遠(yuǎn)程連接:

git remote add origin <GitHub倉(cāng)庫(kù)的URL>

3)git status

確認(rèn)您已經(jīng)將更新的更改添加到本地倉(cāng)庫(kù)的索引中,可以使用以下命令來(lái)查看更改的狀態(tài):

git status镶殷,運(yùn)行此命令可以查看倉(cāng)庫(kù)中的更改狀態(tài)禾酱,包括已修改但未暫存的文件和已暫存但未提交的文件。

4)git checkout

如果您只想推送到特定分支绘趋,使用以下命令切換到目標(biāo)分支:

git checkout <目標(biāo)分支名稱(chēng)>

5)git pull origin

在開(kāi)始編寫(xiě)新的代碼或修改現(xiàn)有代碼之前颤陶,先執(zhí)行?git pull origin <分支名稱(chēng)>?來(lái)拉取最新的更改,并將遠(yuǎn)程倉(cāng)庫(kù)中的更改合并到您的本地分支中陷遮。

6)git add

使用?git add?命令將更改添加到暫存區(qū)滓走。例如,可以運(yùn)行以下命令將所有更改添加到暫存區(qū):

git add .

或者帽馋,如果只想暫存特定的文件搅方,可以運(yùn)行:

git add <文件路徑>

或?git add myfolder/疫粥。

這將使更改進(jìn)入暫存區(qū),準(zhǔn)備提交到git倉(cāng)庫(kù)腰懂。

7)?git commit?

在執(zhí)行?git add?之后梗逮, 更改添加到暫存區(qū),您仍然需要執(zhí)行?git commit?命令來(lái)創(chuàng)建一個(gè)新的提交并將更改永久保存到git倉(cāng)庫(kù)中绣溜。git commit?命令需要一個(gè)提交信息慷彤,用于描述您所做的更改。

您可以使用以下命令來(lái)進(jìn)行提交:

git commit -m "提交信息"

在引號(hào)中怖喻,您可以輸入一條簡(jiǎn)短的提交信息底哗,以解釋您所做的更改。

注意锚沸,git commit?只會(huì)提交暫存區(qū)中的更改跋选。如果您有其他未暫存的更改,您需要在提交之前使用?git add?命令將它們添加到暫存區(qū)哗蜈。

7)git push

在執(zhí)行?git commit?后前标,您的更改已經(jīng)成功提交到本地倉(cāng)庫(kù)中。但是距潘,這只是將更改保存在本地炼列,還沒(méi)有將它們推送到遠(yuǎn)程倉(cāng)庫(kù)(如GitHub)。

如果您希望將更改與其他開(kāi)發(fā)人員共享音比,或?qū)⑵鋫浞莸竭h(yuǎn)程倉(cāng)庫(kù)中俭尖,您需要執(zhí)行以下操作之一:

推送到遠(yuǎn)程倉(cāng)庫(kù):使用?git push?命令將您的本地分支與遠(yuǎn)程倉(cāng)庫(kù)(通常是GitHub)進(jìn)行同步。運(yùn)行以下命令將本地分支推送到遠(yuǎn)程分支:

git push origin <分支名稱(chēng)>

替換?<分支名稱(chēng)>?為您要推送到的遠(yuǎn)程分支的名稱(chēng)(如?main?或?master)洞翩。

這將上傳您的本地更改并將其應(yīng)用到遠(yuǎn)程倉(cāng)庫(kù)的相應(yīng)分支中稽犁。

如果這是首次推送到遠(yuǎn)程分支,或者原始分支已被刪除骚亿,您可以使用以下命令:

git push -u origin <分支名稱(chēng)>

這將創(chuàng)建一個(gè)新的遠(yuǎn)程分支已亥,并將本地分支與遠(yuǎn)程分支關(guān)聯(lián)起來(lái)。

Tips: 完成以上步驟后循未,您的代碼更改就會(huì)被推送到GitHub上陷猫,并與其他開(kāi)發(fā)人員共享秫舌。請(qǐng)記住的妖,推送操作可能需要提供GitHub的用戶(hù)名和密碼、個(gè)人訪(fǎng)問(wèn)令牌(PAT)或使用SSH密鑰進(jìn)行身份驗(yàn)證足陨。

2. 平時(shí)將代碼寄存到GitHub倉(cāng)庫(kù)

要將代碼推送(push)到GitHub倉(cāng)庫(kù)嫂粟,你可以按照以下步驟進(jìn)行操作:

1. 首先,確保你已經(jīng)在本地計(jì)算機(jī)上安裝了Git墨缘,并且已經(jīng)配置好Git的用戶(hù)信息(用戶(hù)名和郵箱)星虹。你可以在終端或命令提示符中運(yùn)行以下命令來(lái)檢查是否已安裝Git以及版本號(hào):

? ```

? git --version

? ```

? 如果沒(méi)有安裝Git零抬,請(qǐng)根據(jù)你的操作系統(tǒng)下載并安裝Git。

2. 將你的代碼添加到本地的Git倉(cāng)庫(kù)中宽涌。在你的項(xiàng)目根目錄下平夜,運(yùn)行以下命令:

? ```

? git init

? git add .

? git commit -m "Initial commit"

? ```

? 這將初始化一個(gè)新的本地Git倉(cāng)庫(kù),并將項(xiàng)目中的所有文件添加到倉(cāng)庫(kù)中卸亮,并創(chuàng)建一個(gè)初始提交(commit)忽妒。

3. 在GitHub上創(chuàng)建一個(gè)新的空倉(cāng)庫(kù),或者你可以使用已經(jīng)存在的倉(cāng)庫(kù)兼贸。如果你要?jiǎng)?chuàng)建一個(gè)新的倉(cāng)庫(kù)段直,可以按照以下步驟操作:

? - 在GitHub上登錄到你的賬號(hào)。

? - 點(diǎn)擊右上角的加號(hào)圖標(biāo)溶诞,選擇"New repository"(或類(lèi)似選項(xiàng))創(chuàng)建一個(gè)新倉(cāng)庫(kù)鸯檬。

? - 輸入倉(cāng)庫(kù)的名稱(chēng)和描述等信息,然后點(diǎn)擊"Create repository"(或類(lèi)似按鈕)創(chuàng)建新倉(cāng)庫(kù)螺垢。

4. 將本地倉(cāng)庫(kù)與GitHub倉(cāng)庫(kù)進(jìn)行關(guān)聯(lián)喧务。在終端或命令提示符中,運(yùn)行以下命令枉圃,替換`<remote-url>`為你的GitHub倉(cāng)庫(kù)的URL:

? ```

? git remote add origin <remote-url>

? ```

5. 最后蹂楣,將本地代碼推送(push)到GitHub倉(cāng)庫(kù)。運(yùn)行以下命令:

? ```

? git push -u origin master

? ```

? 如果你正在使用的是其他分支名稱(chēng)讯蒲,可以將`master`替換為你的分支名稱(chēng)痊土。

這樣,你的代碼就會(huì)被推送到GitHub倉(cāng)庫(kù)中墨林。請(qǐng)確保你有適當(dāng)?shù)臋?quán)限來(lái)推送代碼到該倉(cāng)庫(kù)赁酝。

3. 報(bào)錯(cuò)1

1)報(bào)錯(cuò)

git push origin master

Username for 'https://github.com': L7991-lian

Password for 'https://L7991-lian@github.com':

remote: Support for password authentication was removed on August 13, 2021.

remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.

fatal: Authentication failed for 'https://github.com/jiang-junyao/CACIMAR.git/'

使用HTTPS協(xié)議推送更改到GitHub遠(yuǎn)程倉(cāng)庫(kù)時(shí)遇到了身份驗(yàn)證錯(cuò)誤。錯(cuò)誤消息中提到旭等,自2021年8月13日起酌呆,GitHub不再支持密碼身份驗(yàn)證。為了解決這個(gè)問(wèn)題搔耕,你可以使用以下方法之一進(jìn)行身份驗(yàn)證:

使用SSH協(xié)議進(jìn)行身份驗(yàn)證:首先隙袁,你需要在GitHub上設(shè)置SSH密鑰并將其與你的帳戶(hù)關(guān)聯(lián)。然后弃榨,將遠(yuǎn)程URL更改為SSH格式菩收。在命令行中執(zhí)行以下命令:

git remote set-url origin git@github.com:jiang-junyao/CACIMAR.git

然后再次嘗試推送更改,應(yīng)該不再需要輸入用戶(hù)名和密碼鲸睛。

使用個(gè)人訪(fǎng)問(wèn)令牌(Personal Access Token娜饵,簡(jiǎn)稱(chēng)PAT)進(jìn)行身份驗(yàn)證:你可以在GitHub中生成一個(gè)PAT,并使用該令牌作為密碼進(jìn)行身份驗(yàn)證官辈。在命令行中執(zhí)行以下命令:

git remote set-url origin https://<PAT>@github.com/jiang-junyao/CACIMAR.git

將<PAT>替換為你生成的個(gè)人訪(fǎng)問(wèn)令牌箱舞,然后再次嘗試推送更改遍坟。

請(qǐng)根據(jù)你的首選方法進(jìn)行身份驗(yàn)證,并確保遠(yuǎn)程URL正確設(shè)置后再次嘗試推送更改到GitHub遠(yuǎn)程倉(cāng)庫(kù)晴股。


2)設(shè)置SSH密鑰并將其與你的GitHub帳戶(hù)關(guān)聯(lián)

設(shè)置SSH密鑰并將其與你的GitHub帳戶(hù)關(guān)聯(lián)的步驟如下:

1. 打開(kāi)命令行終端或Git Bash愿伴。

2. 在終端中輸入以下命令來(lái)生成SSH密鑰對(duì):

? ```

? ssh-keygen -t ed25519 -C "your_email@example.com"

? ```

? 這將生成一對(duì)公鑰和私鑰。確保替換 `"your_email@example.com"`為你在GitHub上注冊(cè)的電子郵件地址电湘。

3. 終端將提示你選擇要保存密鑰的文件路徑和名稱(chēng)公般。默認(rèn)情況下,會(huì)在用戶(hù)主目錄下生成密鑰胡桨。你可以選擇使用默認(rèn)路徑官帘,或提供自定義路徑。

4. 設(shè)置一個(gè)安全的密碼短語(yǔ)昧谊。這個(gè)密碼短語(yǔ)在使用此密鑰對(duì)進(jìn)行身份驗(yàn)證時(shí)起到保護(hù)作用刽虹。

5. 完成后,終端將顯示公鑰的指紋和密鑰路徑信息呢诬。復(fù)制并保存你的公鑰的內(nèi)容涌哲,以便在后續(xù)步驟中使用。

6. 登錄到你的GitHub帳戶(hù)尚镰,并轉(zhuǎn)到以下路徑:用戶(hù)頭像 > Settings > SSH and GPG keys阀圾。

7. 點(diǎn)擊 "New SSH key"(新的SSH秘鑰)按鈕。

8. 在 "Title"(標(biāo)題)字段中狗唉,為SSH密鑰提供一個(gè)描述性的名稱(chēng)(例如初烘,"My SSH Key")。

9. 粘貼之前復(fù)制的公鑰內(nèi)容到 "Key"(密鑰)字段中分俯。(公鑰的內(nèi)容應(yīng)該類(lèi)似于以下樣式:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMxxxxxxxxxxiQr9sqjbnnnnnnnnRxt6AjLl8VM xxx@qq.com

10. 單擊 "Add SSH key"(添加SSH密鑰)按鈕肾筐,完成關(guān)聯(lián)。

現(xiàn)在缸剪,你的SSH密鑰已經(jīng)與你的GitHub帳戶(hù)成功關(guān)聯(lián)吗铐。你可以使用SSH協(xié)議來(lái)進(jìn)行身份驗(yàn)證和進(jìn)行與遠(yuǎn)程倉(cāng)庫(kù)之間的交互操作。

或者也可以使用下面PAT的方式杏节。


3)個(gè)人訪(fǎng)問(wèn)令牌(Personal Access Token唬渗,簡(jiǎn)稱(chēng)PAT)進(jìn)行身份驗(yàn)證

使用個(gè)人訪(fǎng)問(wèn)令牌(Personal Access Token,簡(jiǎn)稱(chēng)PAT)進(jìn)行身份驗(yàn)證:

在GitHub上生成一個(gè)PAT奋渔。你可以按照以下步驟進(jìn)行操作:

登錄到你的GitHub帳戶(hù)镊逝,點(diǎn)擊右上角的用戶(hù)頭像,然后選擇“Settings”(設(shè)置)卒稳。

在左側(cè)菜單中蹋半,選擇“Developer settings”(開(kāi)發(fā)者設(shè)置),然后選擇“Personal access tokens”(個(gè)人訪(fǎng)問(wèn)令牌)充坑。

點(diǎn)擊“Generate new token”(生成新令牌)按鈕减江,在彈出窗口中提供一個(gè)描述性的名稱(chēng),并選擇所需的權(quán)限和范圍捻爷。

點(diǎn)擊“Generate token”(生成令牌)按鈕辈灼,然后將生成的令牌復(fù)制到安全的地方。

在命令行中執(zhí)行以下命令也榄,并將<PAT>替換為你生成的個(gè)人訪(fǎng)問(wèn)令牌:

git remote set-url origin https://<PAT>@github.com/jiang-junyao/CACIMAR.git

然后再次嘗試推送更改巡莹。

請(qǐng)根據(jù)你的需要選擇其中一種方式,并確保遠(yuǎn)程URL正確設(shè)置后再次嘗試推送更改到GitHub遠(yuǎn)程倉(cāng)庫(kù)甜紫。

4. 報(bào)錯(cuò)2

1)報(bào)錯(cuò)

git push

To github.com:jiang-junyao/CACIMAR.git

! [rejected]? ? ? ? master -> master (fetch first)

error: failed to push some refs to 'git@github.com:jiang-junyao/CACIMAR.git'

hint: Updates were rejected because the remote contains work that you do

hint: not have locally. This is usually caused by another repository pushing

hint: to the same ref. You may want to first integrate the remote changes

hint: (e.g., 'git pull ...') before pushing again.

hint: See the 'Note about fast-forwards' in 'git push --help' for details.

這個(gè)錯(cuò)誤表明你嘗試推送的分支 `master` 已經(jīng)包含了遠(yuǎn)程倉(cāng)庫(kù)中你沒(méi)有的工作降宅。這通常是因?yàn)橛衅渌艘呀?jīng)向相同的分支推送了新的更改。

為了解決這個(gè)問(wèn)題囚霸,你可以執(zhí)行以下步驟:

1. 首先腰根,使用 `git pull` 命令從遠(yuǎn)程倉(cāng)庫(kù)拉取最新的更改并合并到你的本地分支上。執(zhí)行以下命令:

? ```

? git pull origin master

? ```

2. 如果有沖突產(chǎn)生拓型,請(qǐng)根據(jù)提示對(duì)沖突進(jìn)行解決额嘿。你可以通過(guò)編輯相應(yīng)的文件以手動(dòng)解決沖突次屠,然后執(zhí)行 `git add` 命令將解決后的文件添加到暫存區(qū)君旦。

3. 繼續(xù)執(zhí)行 `git push` 命令嘗試推送更改到遠(yuǎn)程倉(cāng)庫(kù)纵朋。執(zhí)行以下命令:

? ```

? git push origin master

? ```

如果其他人在你拉取最新更改之前向遠(yuǎn)程倉(cāng)庫(kù)推送了更改揪阶,你可能需要解決沖突才能成功推送你的更改怔昨。

2)Merge 要求輸入提交信息

Merge branch 'master' of github.com:jiang-junyao/CACIMAR

# Please enter a commit message to explain why this merge is necessary,

# especially if it merges an updated upstream into a topic branch.

#

# Lines starting with '#' will be ignored, and an empty message aborts

# the commit.

這是一個(gè)要求你輸入提交信息的提示盏混。當(dāng)執(zhí)行?git pull?命令拉取遠(yuǎn)程更改并合并時(shí)置森,Git 會(huì)自動(dòng)創(chuàng)建一個(gè)合并提交的提交信息模板续搀。

在這個(gè)模板中帐我,你需要提供一個(gè)解釋為什么進(jìn)行了這次合并的提交信息刘莹。如果這個(gè)合并是將更新的上游代碼合并到主題分支中,你可以簡(jiǎn)單地描述一下這個(gè)過(guò)程焚刚〉阃洌或者,如果有其他重要的信息需要包含在提交信息中矿咕,你也可以在這里添加抢肛。

在這種情況下,你可以將提交信息保留為空碳柱,以終止提交捡絮。你可以在模板中添加自己的評(píng)論,或者刪除模板并提交一個(gè)全新的提交信息莲镣。

在命令行中福稳,你可以通過(guò)按下?i?鍵進(jìn)入插入模式,然后編輯提交信息瑞侮。完成編輯后的圆,按下?Esc?鍵退出插入模式鼓拧,并輸入?:wq?保存更改并退出編輯器。

例如越妈,如果你使用的是 Vim 編輯器季俩,你可以輸入?:wq?并按下回車(chē)鍵保存更改并退出。

如果你正在使用其他編輯器梅掠,可能需要查閱相應(yīng)的文檔以了解如何保存更改并退出編輯器酌住。

你可以提供以下內(nèi)容作為基本的提交描述:

```

Merge branch 'master' of github.com:jiang-junyao/CACIMAR

Added new code to analyze the evolutionary relationships between cell types in different species.

```

這個(gè)提交信息簡(jiǎn)潔明了地表達(dá)了你的更改和添加的新功能的目的。根據(jù)需要阎抒,你可以根據(jù)你的具體情況對(duì)提交信息進(jìn)行調(diào)整或添加其他相關(guān)信息酪我。

請(qǐng)注意,提交信息應(yīng)該盡可能清晰地描述你的更改和添加的功能且叁,以便其他人能夠理解你的工作并與之交互都哭。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市谴古,隨后出現(xiàn)的幾起案子质涛,更是在濱河造成了極大的恐慌,老刑警劉巖掰担,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汇陆,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡带饱,警方通過(guò)查閱死者的電腦和手機(jī)毡代,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)勺疼,“玉大人教寂,你說(shuō)我怎么就攤上這事≈绰” “怎么了酪耕?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)轨淌。 經(jīng)常有香客問(wèn)我迂烁,道長(zhǎng),這世上最難降的妖魔是什么递鹉? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任盟步,我火速辦了婚禮,結(jié)果婚禮上躏结,老公的妹妹穿的比我還像新娘却盘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布黄橘。 她就那樣靜靜地躺著兆览,像睡著了一般。 火紅的嫁衣襯著肌膚如雪旬陡。 梳的紋絲不亂的頭發(fā)上拓颓,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天语婴,我揣著相機(jī)與錄音描孟,去河邊找鬼。 笑死砰左,一個(gè)胖子當(dāng)著我的面吹牛匿醒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播缠导,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼廉羔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了僻造?” 一聲冷哼從身側(cè)響起憋他,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎髓削,沒(méi)想到半個(gè)月后竹挡,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡立膛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年揪罕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宝泵。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡好啰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出儿奶,到底是詐尸還是另有隱情框往,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布闯捎,位于F島的核電站椰弊,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏隙券。R本人自食惡果不足惜男应,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望娱仔。 院中可真熱鬧沐飘,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至筛峭,卻和暖如春铐刘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背影晓。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工镰吵, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人挂签。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓疤祭,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親饵婆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子勺馆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容