Git和GitCode使用(從Git安裝到上傳項目一條龍)

第一步

菜鳥教程-Git教程
點擊上方鏈接,完成Git的安裝,并了解Git 工作流程,知道Git 工作區、暫存區和版本庫的區別

第二步

GitCode官方幫助文檔-SSH 公鑰管理
點擊上方鏈接,完成SSH公鑰設置

第三步(GitCode的官方引導命令解釋,可結合第一步的Git教程理解)

Git 全局設置(按序執行)

git config --global user.name "bfydyjs"
  • 作用:使用 git config 命令來配置 Git 的相關設置,–global 選項表示這是一個全局配置,意味著在你系統上的所有 Git 倉庫都會使用這個配置。user.name 是設置提交代碼時顯示的用戶名,這里將用戶名設置為 “bfydyjs”。
  • 影響:之后你在任何 Git 倉庫進行提交操作時,提交記錄中顯示的作者姓名就會是 “bfydyjs”。
git config --global user.email "bfydyjs@noreply.gitcode.com"
  • 作用:同樣使用 git config --global 進行全局配置,user.email 用于設置提交代碼時顯示的郵箱地址,這里將郵箱設置為 “bfydyjs@noreply.gitcode.com”。
  • 影響:在后續的提交記錄中,除了作者姓名,還會顯示這個郵箱地址。在一些代碼托管平臺(如 GitHub、GitCode 等),郵箱地址會關聯到你的賬戶,方便平臺識別提交者的身份。

創建一個新倉庫(按序執行)

git clone https://gitcode.com/bfydyjs/opengait.git
  • 作用:從 gitcode.com 上克隆 bfydyjs 用戶的 opengait 倉庫到本地。克隆完成后,會在當前目錄下創建一個名為 opengait 的文件夾,其中包含遠程倉庫的所有文件和版本歷史。
  • 可能出現的問題:
    網絡問題:如果網絡連接不穩定或者無法訪問 gitcode.com,克隆操作會失敗。
    權限問題:若你沒有權限訪問該倉庫,會收到認證失敗的提示。
cd opengait
  • 作用:進入克隆下來的 opengait 項目文件夾,以便后續對項目文件進行操作。
  • 可能出現的問題:若克隆過程中出現問題,沒有成功創建 opengait 文件夾,執行該命令會提示 “沒有那個文件或目錄”。
echo "# opengait" >> README.md
  • 作用:向 README.md 文件末尾追加一行內容 # opengait。README.md 文件通常用于對項目進行簡要說明。
  • 可能出現的問題:若 README.md 文件不存在,會先創建該文件再追加內容;若沒有寫入權限,會提示權限不足。
git add README.md
  • 作用:將 README.md 文件添加到 Git 的暫存區,意味著該文件的更改已被標記,準備提交到本地倉庫。
  • 可能出現的問題:若 README.md 文件不在當前 Git 倉庫管理范圍內,或者文件名拼寫錯誤,會提示找不到該文件。
git commit -m "add README"
  • 作用:將暫存區中的 README.md 文件更改提交到本地倉庫,并添加一條提交說明 “add README”,方便后續查看和理解該提交的內容。
  • 可能出現的問題:若沒有正確配置 Git 的用戶名和郵箱,會提示需要先配置這些信息才能提交。
git branch -m main
  • 作用:將當前所在的分支重命名為 main。在較新的 Git 版本中,默認的主分支名稱通常為 main。
  • 可能出現的問題:若當前分支已經是 main 分支,再次執行該命令不會有實際效果。
git push -u origin main
  • 作用:將本地 main 分支上的更改推送到遠程倉庫的 main 分支。-u 選項用于設置上游分支,這樣后續使用 git push 或 git pull 時,就無需再指定遠程倉庫和分支名稱。
  • 可能出現的問題:
    權限問題:若你沒有權限向遠程倉庫推送更改,會收到認證失敗的提示。
    沖突問題:若遠程倉庫的 main 分支有新的更改,而本地分支沒有合并這些更改,會出現沖突,需要先解決沖突才能推送。

推送現有的文件(按序執行)

cd existing_folder
  • 作用:切換到已存在的本地文件夾 existing_folder 中。這里的 existing_folder 是你本地存放項目文件的目錄,你需要將其替換為實際的文件夾名稱。
  • 示例:如果你的項目文件存放在 my_project 文件夾中,命令則為 cd my_project。
git init
  • 作用:在當前目錄下初始化一個新的 Git 倉庫。執行該命令后,Git 會在當前目錄下創建一個隱藏的 .git 文件夾,用于存儲版本控制所需的元數據和對象數據庫。
git remote add origin https://gitcode.com/bfydyjs/opengait.git
  • 作用:將本地倉庫與遠程倉庫建立關聯。origin 是遠程倉庫的默認別名,git@gitcode.com:bfydyjs/opengait.git 是遠程倉庫的 SSH 地址。
  • 注意:你需要確保已經在 gitcode.com 上創建了對應的倉庫,并且本地的 SSH 密鑰已經添加到 gitcode.com 的賬戶中,否則在后續推送時會出現認證失敗的問題。
git add .
  • 作用:將當前目錄下的所有文件和文件夾添加到 Git 的暫存區。暫存區是 Git 中一個中間區域,用于準備提交的文件。
  • 注意:. 表示當前目錄下的所有文件和文件夾,如果你只想添加特定的文件或文件夾,可以將 . 替換為具體的文件或文件夾名稱。
git commit -m "Initial commit"
  • 作用:將暫存區中的文件提交到本地倉庫。-m 選項用于指定提交的說明信息,這里的 “Initial commit” 表示這是第一次提交。提交說明應該簡潔明了,能夠描述本次提交的主要內容。
git branch -m main
  • 作用:將當前分支的名稱修改為 main。在較新的 Git 版本中,默認的主分支名稱通常為 main,而不是之前的 master。
git push -u origin main
  • 作用:將本地倉庫中的 main 分支推送到遠程倉庫的 main 分支。-u 選項的作用是設置上游分支,這樣以后使用 git push 或 git pull 時就無需再指定遠程分支和本地分支。

推送現有的 Git 倉庫(按序執行)

cd existing_repo
  • 作用:切換到已存在的本地倉庫目錄 existing_repo。你需要將 existing_repo 替換為實際的本地倉庫文件夾名稱。
  • 示例:若本地倉庫文件夾名為 my_project,則使用 cd my_project。
git remote rename origin old-origin
  • 作用:將當前本地倉庫關聯的名為 origin 的遠程倉庫重命名為 old - origin。這樣做是為了后續添加新的遠程倉庫地址,避免名稱沖突。
  • 可能出現的問題:若本地倉庫沒有名為 origin 的遠程倉庫,會出現錯誤提示。可使用 git remote 命令查看當前本地倉庫關聯的遠程倉庫名稱。
git remote add origin https://gitcode.com/bfydyjs/opengait.git
  • 作用:為本地倉庫添加一個新的名為 origin 的遠程倉庫,其地址為 https://gitcode.com/bfydyjs/opengait.git。
  • 可能出現的問題:如果新的遠程倉庫地址無效,或者你沒有訪問該倉庫的權限,后續操作會失敗。同時,若已經存在名為 origin 的遠程倉庫(盡管之前重命名過,但可能其他操作又添加了),會出現錯誤提示。
git push -u origin --all
  • 作用:將本地倉庫中的所有分支推送到新的 origin 遠程倉庫,并使用 -u 選項將這些分支與遠程倉庫的對應分支進行關聯。這樣后續使用 git push 和 git pull 時,就無需再指定遠程倉庫和分支名稱。
  • 可能出現的問題:如果本地分支和遠程分支存在沖突,需要先解決沖突才能推送。另外,如果沒有訪問新遠程倉庫的權限,推送會失敗。
git push -u origin --tags
  • 作用:將本地倉庫中的所有標簽推送到新的 origin 遠程倉庫,并建立關聯。標簽通常用于標記特定的版本。
  • 可能出現的問題:同樣,若沒有權限訪問遠程倉庫或者標簽存在沖突,推送會失敗。

最后

  • 自己多嘗試,熟能生巧

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/75009.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/75009.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/75009.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于 WebAssembly 的 Game of Life 交互實現

一、前言 在前期的實現中,我們使用 Rust 編寫核心邏輯,并通過 WebAssembly 將其引入到 Web 環境中,再利用 JavaScript 進行渲染。接下來,我們將在這一基礎上增加用戶交互功能,使模擬過程不僅能夠自動演化,…

【keil】單步調試

一、步驟 1、打開stc-isp軟件 2.打開keil仿真設置,選擇對應的單片機型號 3.點擊將所選目標單片機設置為仿真芯片,點擊下載,按一下單片機打下載按鈕 4.此時已經將仿真程序下載到單片機 5.此時點擊options,找到debug選擇STC Montor 51 Driv…

c++弱指針實現原理

在 C 中,弱指針(std::weak_ptr)是一種特殊的智能指針,其核心目標是?解決 std::shared_ptr 的循環引用問題?,同時不增加對象的引用計數。它的實現原理基于與 std::shared_ptr 共享的 ?控制塊(Control Blo…

【ManiSkill】環境success條件和reward函數學習筆記

1. “PickCube-v1” info["success"]:用于指示任務是否成功完成 布爾型張量,在環境的evaluate()方法中計算并返回: "success": is_obj_placed & is_robot_static這確保了機器人不僅能將物體準確放置在目標位置&am…

用空閑時間做了一個小程序-二維碼生成器

一直在摸魚中賺錢的大家好呀~ 先向各位魚友們匯報一下情況,目前小程序已經有900的魚友注冊使用過。雖然每天都有新的魚友注冊,但是魚友增長的還很緩慢。自從國慶前的文字轉語音的工具上線到現在已經將近有1個月沒有更新小程序了。但是今天終終終終終于又…

31天Python入門——第14天:異常處理

你好,我是安然無虞。 文章目錄 異常處理1. Python異常2. 異常捕獲try-except語句捕獲所有的異常信息獲取異常對象finally塊 3. raise語句4. 自定義異常5. 函數調用里面產生的異常補充練習 異常處理 1. Python異常 Python異常指的是在程序執行過程中發生的錯誤或異…

PyQt6實例_批量下載pdf工具_使用pyinstaller與installForge打包成exe文件

目錄 前置: 步驟: step one 準備好已開發完畢的項目代碼 step two 安裝pyinstaller step three 執行pyinstaller pdfdownload.py,獲取初始.spec文件 step four 修改.spec文件,將data文件夾加入到打包程序中 step five 增加…

Axure項目實戰:智慧城市APP(完整交互匯總版)

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝! 課程主題:智慧城市APP 主要內容:主功能(社保查詢、醫療信息、公交查詢等)、活動、消息、我的頁面匯總 應用場景&#xff…

Appium Inspector使用教程

1.下載最新版本 https://github.com/appium/appium-inspector/releases 2.本地啟動一個Appium服務 若Android SDK已安裝Appium服務,則在任意terminal使用appium啟動服務即可 3.Appium Inspector客戶端配置連接到Appium服務 Configuring and Starting a Session…

Pycharm(七):幾個簡單案例

一.剪刀石頭布 需求:和電腦玩剪刀石頭布游戲 考察點:1.隨機數;2.判斷語句 import random # numrandom.randint(1,3) # print(num) # print(**30) #1.錄入玩家手勢 playerint(input(請輸入手勢:(1.剪刀 2.石頭 3&…

Python Cookbook-4.13 獲取字典的一個子集

任務 你有一個巨大的字典,字典中的一些鍵屬于一個特定的集合,而你想創建一個包含這個鍵集合及其對應值的新字典。 解決方案 如果你不想改動原字典: def sub_dict(somedict,somekeys,default None):return dict([(k, somedict.get(k,default)) for k…

VMware Ubuntu 網絡配置全攻略:從斷網到暢通無阻

一、網絡連接模式選擇(先搞懂原理) VMware提供三種網絡模式,就像手機的不同網絡套餐: 模式適用場景特點類比NAT個人上網/新手首選虛擬機共享主機IP,能上網但隱身家用WiFi橋接服務器/需要被局域網訪問虛擬機會獲得獨立…

鏈表(C++)

這是本人第二次學習鏈表,第一次學習鏈表是在大一上的C語言課上,首次接觸,感到有些難;第二次是在大一下學習數據結構時(就是這次),使用C再次理解鏈表。同時,這也是開啟數據結構學習寫…

【SPP】藍牙串口協議應用層深度解析:從連接建立到實戰開發

目錄 一、SPP應用層協議框架與角色模型 1.1 分層協議棧模型 1.2 設備角色模型(DevA 與 DevB 交互) 二、連接建立流程:從 SDP 到 RFCOMM 2.1 服務發現(SDP)流程(SDP 記錄關鍵參數) 2.2 連接…

Giteki 認證:無線產品進入日本市場的關鍵保障

目錄 適用產品認證范圍 認證項目及技術要求 認證流程 認證周期 與其他認證的對比 常見問題 注意事項 Giteki 認證,其名稱來源于日本語 “技適マーク”,羅馬字拼寫為 “GITEKI” ,在行業內也常被稱為 Telec 認證、MIC 認證、RF 認證或技…

Ubuntu24.04 配置遠程桌面服務

一:安裝 sudo apt update sudo apt install vino 二:設置 gsettings set org.gnome.Vino require-encryption false # 關閉加密(某些 VNC 客戶端不支持加密) gsettings set org.gnome.Vino prompt-enabled false # 關閉連接…

人工智能與軟件工程結合的發展趨勢

AI與軟件工程的結合正在深刻改變軟件開發的流程、工具和方法,其發展方向涵蓋了從代碼生成到系統維護的整個生命周期。以下是主要的發展方向和技術趨勢: 1. 軟件架構體系的重構 從“面向過程”到“面向目標”的架構轉型: AI驅動軟件設計以目標…

轉發和重定向的區別詳解

轉發(Forward)和重定向(Redirect)是 Web 開發中兩種常用的請求處理方式,主要用于將客戶端請求從一個資源轉移到另一個資源。它們在實現機制、行為表現和應用場景上有顯著區別,以下是對兩者的詳細解析&#…

python專題1-----判斷一個變量是否是字符串類型

在 Python 中,可以使用 isinstance() 函數來判斷一個變量是否是字符串類型。字符串在 Python 中是以 str 類型表示的。下面是一些示例代碼,展示如何判斷一個變量是否是字符串類型: # 示例變量 var1 "Hello, World!" var2 12345 …

軟件工程之需求工程(需求獲取、分析、驗證)

一、需求獲取(Requirements Elicitation) 1. 定義與目標 需求獲取是通過與用戶、利益相關者等交互,識別并捕獲系統需求的過程,目標是明確用戶意圖與業務目標,避免后期因需求偏差導致返工。 2. 主要方法 問卷法&…