GIT操作 學習

登錄gitee
  • 登錄方式:通過網站登錄,使用注冊時的賬號(通常是手機號)和密碼進行認證

創建倉庫 
  • 新建倉庫步驟

    • 命名規范:倉庫名稱應盡量符合規范,避免與已有倉庫沖突,建議使用有意義的命名

    • 初始化設置:

      • 選擇.gitignore模板

      • 添加README文件作為代碼說明文檔

      • 使用默認的單分支模型(適合初學者)

  • 倉庫屬性設置

    • 開源許可:創建時默認為私有倉庫,后期可改為開源

    • 模板文件:

      • LICENSE文件:記錄開源許可證信息

      • README文件:包含中英文兩個版本的說明文檔

把遠端的倉庫拉取下來 
  • 克隆方式選擇

    • 推薦協議:使用HTTPS協議而非SSH協議

      • SSH需要配置密鑰對,過程復雜(所以一般不用)

      • HTTPS只需輸入賬號密碼即可

  • 克隆操作步驟

    • 命令格式:git clone <倉庫HTTPS地址>.git

    • 認證信息:

      • 用戶名:gitee網站登錄賬號

      • 密碼:gitee網站登錄密碼(非系統密碼)

    • 結果驗證:成功后會生成與倉庫同名的本地目錄

忽略文件操作 
  • .gitignore文件作用

    • 功能原理:列出需要被git忽略的文件后綴

    • 實際效果:匹配到的文件不會被上傳到遠端倉庫

    • 查看方式:在Linux中使用ls -al查看(因為是隱藏文件)

  • 本地倉庫本質

    • 核心組成:名為.git的隱藏目錄及其內容

    • 同步機制:

      • 提交操作實質是同步.git目錄內容

      • 遠端倉庫會保存完全相同的.git目錄結構

    • 版本控制:.git目錄包含分支配置和提交歷史等版本信息

寫代碼并git操作 
  • 文件準備與添加

    • 文件拷貝操作:將上級目錄的.c和.h文件拷貝到當前目錄,使用make dl創建process目錄后,將所有.c和.h文件移動到process目錄中

    • git add作用:將新增的文件(之前git沒有跟蹤的文件)添加到本地倉庫的臨時區域

      • 特別注意:添加的是新增文件,不是修改已有文件

      • 底層原理:文件經過二進制轉碼后存入.git目錄(具體位置暫不深究)

  • 提交操作詳解

    • git commit命令:

      • 完整格式:git commit -m "提交日志"

      • 強制要求:-m選項后必須跟提交日志內容,否則會報錯

      • 日志規范:

        • 禁止空白(必須填寫有意義的內容)

        • 禁止隨意填寫(如"abcd"等無意義內容)

        • 不需要手動添加時間戳(系統自動記錄)

    • commit本質:將臨時區域的變更正式合并到本地倉庫,此時遠端倉庫仍未更新

  • 推送操作與完整流程

    • git push作用:將本地倉庫的變更推送到遠端服務器,完成代碼同步

    • 完整三步流程:

      • git add .:添加新文件到暫存區

      • git commit -m "描述":提交到本地倉庫

      • git push:推送到遠端倉庫

    • 密碼提示:push時需要輸入git賬號密碼(非系統root密碼)

  • 提交日志的重要性

    • 日志查看方式:通過git log命令可查看完整提交歷史,包含:

      • 提交ID(長哈希值)

      • 作者信息(用戶名+郵箱)

      • 提交時間戳

      • 提交日志內容

    • 專業要求:

      • 在團隊協作中,清晰的日志有助于他人理解代碼變更

      • 面試時可能被查看提交歷史(如簡歷附git鏈接)

      • 錯誤示例:模糊的日志可能導致后期維護困難,甚至被離職后追責

  • Git環境配置

    • 安裝方法:sudo apt-get install -y git(Linux環境,注意 apt-get和yum的區別)

    • 首次配置:

      • 必須設置用戶名:git config --global user.name "姓名簡寫"

      • 必須設置郵箱:git config --global user.email "真實郵箱"

    • 配置重要性:

      • 這些信息將永久記錄在提交歷史中

      • 公司內部可能通過郵箱聯系代碼作者

      • 建議使用真實姓名簡寫和工作郵箱(避免私人郵箱)

驗證忽略文件配置 
  • .gitignore文件配置

    • 配置語法:使用.擴展名格式指定要忽略的文件類型,例如.txt忽略所有文本文件,*.sln忽略Visual Studio解決方案文件

    • 測試方法:

      • 創建測試文件(如test.txt)

      • 執行git status查看文件狀態

      • 確認被忽略文件不會出現在待提交列表中

    • 多級目錄處理:需要在倉庫根目錄下的.gitignore文件進行配置才會全局生效

  • 文件狀態管理

    • 新增文件檢測:git status會顯示"Untracked files"表示新文件

    • 修改文件檢測:顯示"Modified"表示已跟蹤文件的修改

    • 批量添加:git add .會自動添加所有未跟蹤和修改的文件

  • 提交流程

    • 標準流程:

      • git add <文件> 或 git add .

      • git commit -m "提交說明"

      • git push

    • 提交說明規范:要求明確描述修改內容(如"修復野指針bug"),避免不專業的日志

遠程倉庫修改操作及沖突解決 
  • 沖突產生場景

    • 典型場景:

      • 開發者A在遠程倉庫直接修改文件

      • 開發者B在本地修改同一文件

      • 開發者B嘗試git push時出現沖突

  • 沖突解決方法

    • 強制同步流程:

      • 先執行git pull拉取遠程變更

      • 解決可能的合并沖突

      • 重新git push

    • 錯誤提示:沖突時會顯示"rejected"提示,要求先整合遠程變更

  • 文件重命名操作

    • 正確方法:使用git mv 舊文件名 新文件名而非直接重命名

    • 操作流程:

      • git mv test.txt hello.txt

      • 提交重命名操作

      • 推送變更

  • 文件刪除操作

    • 標準刪除:使用git rm 文件名而非直接刪除

    • 完整流程:

      • git rm xx.txt

      • git commit -m "刪除臨時文件"

      • git push

  • 提交記錄查看

    • 日志查看:git log顯示完整提交歷史,包括:

      • 提交者信息

      • 提交時間

      • 提交說明

      • 變更內容

      • 注:所有Git操作建議在倉庫根目錄下執行以確保全局生效,部分操作(如.gitignore配置)需要提交到倉庫才能完全生效。

基礎操作 
核心
  • 倉庫克隆:git clone 用于從遠程倉庫克隆項目到本地

  • 添加文件:git add 將文件添加到暫存區

  • 提交更改:git commit -m "message" 提交變更并添加描述信息

常用輔助命令
  • 狀態檢查:git status 查看當前倉庫狀態

  • 日志查看:git log 查看提交歷史記錄

  • 文件操作:

    • git rm 刪除文件

    • git mv 重命名文件

  • 遠程同步:git push 將本地提交推送到遠程倉庫

注意事項
  • 提交不可修改:已提交記錄無法直接修改,需刪除倉庫后重新提交(但會改變提交時間戳)

  • 設計原則:Git設計上不允許隨意修改歷史記錄,這是版本控制系統的核心特性

常見問題
提交綠點問題
  • 更新機制:GitHub等平臺的貢獻綠點不是實時更新,通常會在夜間批量處理

  • 解決方案:正常提交2-3天后會自動顯示,無需特殊處理

認證配置
  • 密碼輸入:git push時會要求輸入用戶名和密碼

  • 免密配置:

    • 技術上支持配置免密碼登錄(課件中有具體方法)

    • 但不推薦初學者使用免密配置,原因有二:

      • 頻繁輸入有助于記憶重要密碼

      • 提交門檻能防止草率提交錯誤代碼

建議
  • 練習方式:

    • 可使用Git Bash命令行操作(支持Linux命令)

    • 也可使用圖形界面工具(如TortoiseGit)

  • 學習路徑:

    • 先掌握基礎命令

    • 后續可逐步學習分支管理、版本回退等高級功能

  • 提交習慣:

    • 建議保持手動輸入密碼的習慣

    • 工作熟練后可考慮配置免密

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

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

相關文章

[論文精讀]StruQ: Defending Against Prompt Injection with Structured Queries

StruQ: Defending Against Prompt Injection with Structured Queries [2402.06363] StruQ: Defending Against Prompt Injection with Structured Queries usenix security 2025 提示注入攻擊是一個重要的威脅&#xff1a;它們誘使模型偏離原始應用程序的指令&#xff0c;轉…

磁懸浮軸承的反饋線性化:非線性控制的智能解耦之道

摘要:磁懸浮軸承憑借無摩擦、高速度、長壽命等優勢,成為高速旋轉機械的理想支撐方案。然而,其本質非線性與強耦合特性使得傳統線性控制方法難以滿足高性能要求。本文深入解析反饋線性化技術如何精確解除磁懸浮系統的非線性耦合,揭示其從微分幾何理論到工程實現的核心路徑,…

探尋《答案之書》:在隨機中尋找生活的指引

我強烈推薦4本可以改變命運的經典著作&#xff1a; 《壽康寶鑒》在線閱讀白話文《欲海回狂》在線閱讀白話文《陰律無情》在線閱讀白話文《了凡四訓》在線閱讀白話文 在快節奏的現代生活中&#xff0c;人們常常面臨各種困惑與抉擇。當常規的思考與決策方式無法帶來清晰答案時&am…

【PTA數據結構 | C語言版】計算1~n平方的和加上1~n的和

本專欄持續輸出數據結構題目集&#xff0c;歡迎訂閱。 文章目錄 題目代碼 題目 給定正整數 n&#xff0c;請編寫程序&#xff0c;求 (12?n^2 )(12?n) 的值。 輸入格式&#xff1a; 輸入在一行中給出正整數 n&#xff08;≤100&#xff09;。 輸出格式&#xff1a; 在一行中…

Assistant API的原理及應用

&#x1f9e0; 什么是 Assistants API&#xff1f; &#x1f4c5; **發布日期&#xff1a;**2023年11月6日&#xff0c;OpenAI在開發者大會上發布了 Assistants API —— 一款面向開發者的工具&#xff0c;用于在應用中構建 AI 助手。 ? 它可以做什么&#xff1f; Assistants …

《北京市加快推動“人工智能+醫藥健康“創新發展行動計劃(2025-2027年)》深度解讀

引言 隨著新一輪科技革命和產業變革的深入推進,人工智能技術與醫藥健康的深度融合已成為全球科技創新的重要方向。北京市于2025年7月正式發布《北京市加快推動"人工智能+醫藥健康"創新發展行動計劃(2025-2027年)》,旨在充分發揮北京在人工智能技術策源、頭部醫療…

DPDK 關于 IOMMU 設置

一、IOMMU 基礎概念 定義:IOMMU(Input/Output Memory Management Unit)即輸入 / 輸出內存管理單元,它是一種硬件機制,用于將設備發出的內存訪問請求進行地址轉換。在現代計算機系統中,它在設備與內存之間起到橋梁作用,提供內存保護和設備隔離功能。作用: 內存保護:防止…

pg_class 系統表信息

SELECT c.relname, c.relkind, CASE WHEN c.relkind r THEN 普通表 WHEN c.relkind p THEN 分區表 WHEN c.relkind f THEN 外表 WHEN c.relkind v THEN 視圖 WHEN c.relkind m THEN 物化視圖 ELSE 其他 END as table_type_desc FROM pg_class c JOIN pg_namespace …

【C++開源庫使用】使用libcurl開源庫發送url請求(http請求)去下載用戶頭像文件(附完整源碼)

目錄 1、libcurl介紹 2、libcurl庫源碼下載與編譯 3、調用libcurl庫的API接口實現http/https請求發送&#xff0c;實現頭像文件下載 4、發送圖片url下載圖片文件的完整代碼展示 5、使用libcurl發送https請求時可能會遇到的兩個錯誤 在某SDK項目中&#xff0c;第三方…

在Docker容器中更改,保存為新的鏡像

# 1. 進入原始容器 docker run -it --name mydev ubuntu:20.04 /bin/bash# 2. 在容器內做大量修改 apt update && apt install -y python3 mkdir /app && echo print("Hello from modified container") > /app/app.py# 3. 退出容器 exit# 4. 保存…

【網絡與爬蟲 13】智能偽裝:Scrapy-Fake-UserAgent反檢測技術實戰指南

【網絡與爬蟲 13】智能偽裝&#xff1a;Scrapy-Fake-UserAgent反檢測技術實戰指南 關鍵詞&#xff1a;Scrapy-Fake-UserAgent、反爬蟲、智能偽裝、瀏覽器指紋、用戶代理、爬蟲檢測規避、自動更新UA 摘要&#xff1a;本文深入解析Scrapy-Fake-UserAgent庫的工作原理與應用技巧&a…

前端開發常見問題

前端開發常見問題技術文章大綱 引言 簡要介紹前端開發在當前技術環境中的重要性&#xff0c;以及開發者常遇到的挑戰和痛點。 瀏覽器兼容性問題 不同瀏覽器對CSS、JavaScript的支持差異常見的Polyfill和轉譯工具&#xff08;如Babel、PostCSS&#xff09;如何利用Can I Use…

文心開源大模型ERNIE-4.5-0.3B-Paddle私有化部署保姆級教程及技術架構探索

一起來輕松玩轉文心大模型吧&#x1f449;一文心大模型免費下載地址: https://ai.gitcode.com/theme/1939325484087291906 前言 2025年6月30日&#xff0c;百度正式開源文心大模型4.5系列&#xff08;ERNIE 4.5&#xff09;&#xff0c;涵蓋10款不同參數規模的模型&#xff0…

【操作系統】內存管理

要求&#xff1a; 1、在該實驗中&#xff0c;采用可變分區方式完成對存儲空間的管理&#xff08;即存儲空間的分配與回收工作&#xff09;。 2、設計用來記錄主存使用情況的數據結構&#xff1a;已分區表和空閑分區表。 3、在設計好的數據結構上設計一個主存分配算法&#xff0…

【算法筆記】5.LeetCode-Hot100-矩陣專項

1. 矩陣置零(t73) 中等難度&#xff0c;題目示例如下&#xff1a; 給定一個 m x n 的矩陣&#xff0c;如果一個元素為 0 &#xff0c;則將其所在行和列的所有元素都設為 0 。請使用原地算法。示例 1&#xff1a; 輸入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 輸出&…

ORACLE 日常查詢

一. 查詢索引相關1. 查詢索引所在的表空間&#xff0c;單個索引的大小SELECT ui.table_name, us.segment_name AS index_name, us.tablespace_name,ROUND(SUM(us.bytes) / 1024 / 1024 / 1024, 2) AS total_size_GB FROM dba_indexes ui JOIN dba_segments us ON ui.index_name…

【DeepSeek實戰】17、MCP地圖服務集成全景指南:高德、百度、騰訊三大平臺接入實戰

引言:為什么MCP是地圖服務的下一代革命? 在數字化時代,位置服務已成為電商、出行、物流等行業的核心基礎設施。但單一地圖服務商的局限性日益凸顯:某外賣平臺因高德地圖API突發故障導致30分鐘訂單配送延遲,某打車軟件因百度地圖路線規劃偏差引發用戶投訴激增,某物流企業…

設計模式之【動態代理】

目錄 動態代理中存在的概念 JDK動態代理 代理工廠【ProxyFactory】實現【InvocationHandler】 目標類的接口【TargetInterface】 目標類【Target】實現了接口 測試類【JDKDynamicProxyTest】 CGLIB動態代理 添加Maven依賴 代理工廠【ProxyFactory】實現【MethodInterc…

【Linux驅動-快速回顧】一次性快速回顧TTY體系知識點(新手友好)

我將遵循一條嚴格的“問題驅動”和“演進”的邏輯線索來構建整個TTY知識體系。每引入一個新概念&#xff0c;都是為了解決前一個階段出現的問題。這樣&#xff0c;你不僅能知道“是什么”&#xff0c;更能深刻理解“為什么是這樣設計的”。 第〇階段&#xff1a;最原始的需求 …

深入淺出:讓機器聽懂世界的耳朵——梅爾頻率倒譜系數(MFCCs)

深入淺出&#xff1a;讓機器聽懂世界的耳朵——梅爾頻率倒譜系數&#xff08;MFCCs&#xff09; 在人工智能的浪潮中&#xff0c;語音識別、聲紋支付、音樂推薦等技術早已融入我們的日常生活。你是否曾好奇&#xff0c;計算機是如何理解并區分各種復雜的聲音信號的&#xff1f;…