登錄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)
學習路徑:
先掌握基礎命令
后續可逐步學習分支管理、版本回退等高級功能
提交習慣:
建議保持手動輸入密碼的習慣
工作熟練后可考慮配置免密