【linux命令】git命令簡單使用

git命令簡單使用

  • 1. 將代碼下載到到本地
  • 2. 查看分支是否正確
  • 3. 將工作目錄中的變更添加到暫存區,為下一次提交做準備
  • 4. 提交更改,添加提交信息
  • 5. 將本地的提交推送到遠程倉庫
  • 6.從遠端倉庫拉取分支代碼
  • 7.查看修改日志
  • 8. 解決沖突


1. 將代碼下載到到本地

git clone的基本作用是從遠程倉庫克隆一個副本到本地。

#克隆遠程倉庫到當前目錄(自動創建項目文件夾)
git clone https://github.com/user/repo.git#克隆特定分支(--branch 或 -b)
git clone -b release https://github.com/user/repo.git#淺克隆(僅最新提交歷史)
git clone --depth 1 https://github.com/user/repo.git#克隆單一分支(節省空間)
git clone --single-branch -b release https://github.com/user/repo.git

舉例:
git clone --depth 1 -b release https://github.com/user/repo.git

2. 查看分支是否正確

git branch
在這里插入圖片描述

3. 將工作目錄中的變更添加到暫存區,為下一次提交做準備

git add

# 添加單個文件
git add README.md# 添加多個文件(支持通配符)
git add *.c *.h# 添加整個目錄(遞歸添加)
git add src/# 添加所有變更(包括新建、修改,但不包括刪除)
git add .# 添加所有變更(包括新建、修改和刪除)
git add -A

4. 提交更改,添加提交信息

基礎提交操作

# 標準提交(需先git add)
git commit -m "修復登錄驗證邏輯"# 自動暫存所有已跟蹤文件的修改并提交
git commit -a -m "優化數據庫連接池配置"# 修改最近一次提交(修正拼寫/添加文件)
git commit --amend# 提交文件
git commit -F 1.txt

5. 將本地的提交推送到遠程倉庫

# 推送到默認上游分支(需提前設置跟蹤)
git push# 明確指定遠程倉庫和分支
git push origin main# 推送本地分支到遠程同名分支(自動創建)
git push origin feature/login# 強制覆蓋遠程分支(謹慎使用)
git push --force-with-lease origin main

舉例:
git push --force-with-lease origin release
正常情況下,如果這個過程沒有其他人提交代碼,就會正常推送到遠端倉庫。

6.從遠端倉庫拉取分支代碼

# 從默認上游分支拉取并合并(等效于 fetch + merge)
git pull# 明確指定遠程倉庫和分支
git pull origin develop# 拉取并自動變基(避免合并提交)
git pull --rebase origin main# 拉取所有遠程分支更新
git pull --all

舉例(都是自己經常使用):
git pull --rebase --force-with-lease origin release

7.查看修改日志

# 基礎歷史查看(帶完整信息)
git log#顯示當前分支比遠程發布分支多出的提交(即本地尚未合并到該遠程分支的修改)
git log release..HEAD          
會列出在遠程分支release-..之后到當前本地 HEAD 之間的提交。

8. 解決沖突

首先,當我執行git push的時候,如果遠程倉庫已經有了我本地沒有的新提交,git會拒絕我的推送,并提示需要先拉取最新的變更。這時候,我需要先將遠程的更新合并到本地,解決可能的沖突之后,再重新推送。

那具體應該怎么做呢?可能有兩種方法:一種是使用git pull,另一種是先git fetch然后合并或者變基。讓我理清這兩種方法的區別。git pull實際上是git fetch加上git merge的快捷方式,而如果使用git fetch之后手動合并或者變基,可以更靈活地控制合并過程。

假設我選擇使用git pull,這時候git會自動合并遠程的修改和本地的提交。如果有沖突的話,git會提示我解決沖突,然后提交合并后的結果。之后,我就可以再次嘗試推送了。不過,自動合并可能會產生一個合并提交,有些人可能更傾向于保持線性的提交歷史,這時候可能需要使用git pull --rebase,這樣可以將我的本地提交變基到遠程分支的最新提交之上,避免額外的合并提交。

不過,在使用rebase的時候需要注意,如果我已經將本地提交推送到遠程過,那么變基可能會改變提交歷史,導致后續推送出現問題。不過在這個場景中,因為我還沒有成功推送過,所以使用rebase應該是安全的。

接下來,我應該按照以下步驟操作:

  1. 先執行git pull --rebase origin 分支名,這樣可以將遠程的更改拉取下來,并將我的本地提交應用到這些更改之后。
  2. 如果在rebase過程中出現沖突,需要手動解決沖突,然后使用git add 文件名來標記沖突已解決,接著執行git rebase --continue繼續變基過程。
  3. 完成rebase之后,再次執行git push,這時候應該就能成功推送到遠程倉庫了。

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

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

相關文章

debian系統redis-dump安裝

1. ?Ruby 環境? Redis-dump 是一個 Ruby 工具,需先安裝 Ruby 和 RubyGems。 安裝命令?: sudo apt update sudo apt install ruby-full build-essential[roota29d39f5fd10:/opt/redis-dump/bin# apt install ruby-full build-essential Reading pac…

微軟押注“代理式AI網絡”:一場重塑軟件開發與工作方式的技術革命

在 2025 年 Build 開發者大會上,微軟正式發布了其面向“開放代理式網絡(Open Agentic Web)”的宏大戰略,推出超過 50 項 AI 相關技術更新,涵蓋 GitHub、Azure、Windows 和 Microsoft 365 全線產品。這一系列更新的核心…

【音頻】wav文件如何解析編碼格式(壓縮格式)?

要確定一個WAV文件的編碼格式,可以通過以下幾種方法實現,包括使用操作系統自帶工具、專業音頻軟件或編程解析文件頭信息。以下是詳細說明: 一、通過文件屬性查看(Windows/macOS) 1. Windows系統 步驟: 右…

算法打卡第三天

10.長度最小的子數組 (力扣209題) 給定一個含有 n 個正整數的數組和一個正整數 target 。 找出該數組中滿足其總和大于等于 target 的長度最小的 子數組 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其長度**。**如果不存在符合條件的子…

數字電子技術基礎(六十二)——使用Multisim軟件繪制邊沿觸發的D觸發器和JK觸發器

1 使用Mulitism軟件模擬時鐘觸發的D觸發器 D觸發器是一種基本的數字電路存儲元件,它在時鐘信號的邊沿將輸入數據D傳遞到輸出Q。下面開始使用Multisim軟件來模擬時鐘觸發的D觸發器。 器件選擇: 觸發器選擇:在組選項欄中點擊Misc Digital&am…

自動獲取新版本 js 靜態文件

場景 代碼里有靜態js文件,發布一個版本1.0在真實環境,再修改重新發布2.0,用戶如何得到新版本? 方法 一、文件名哈希策略(最推薦) 通過構建工具為文件生成唯一哈希值,使每次更新后的文件名不同…

第13天-用BeautifulSoup解析網頁數據:以百度熱搜可視化為例

一、BeautifulSoup簡介 BeautifulSoup是Python最受歡迎的HTML/XML解析庫之一,它能將復雜的網頁文檔轉換為樹形結構,支持多種解析器(如lxml、html.parser)。配合requests庫,可以快速構建網頁爬蟲項目。 二、環境準備 pip install requests beautifulsoup4 matplotlib 三…

PyTorch中cdist和sum函數使用詳解

torch.cdist 是 PyTorch 中用于計算**兩個張量之間的成對距離(pairwise distance)**的函數,常用于點云處理、圖神經網絡、相似性度量等場景。 基本語法 torch.cdist(x1, x2, p2.0)參數說明: 參數說明x1一個形狀為 [B, M, D] 或 …

智能視覺檢測技術:制造業質量管控的“隱形守護者”

在工業4.0浪潮的推動下,制造業正經歷一場以智能化為核心的變革。傳統人工質檢模式因效率低、誤差率高、成本高昂等問題,逐漸難以滿足現代生產對高精度、高速度的需求。智能視覺檢測技術作為人工智能與機器視覺融合的產物,正成為制造業質量管控…

水滸后傳-暹羅國建立新國家的故事

第一節《怒海余生》 李俊率領殘部穿越臺風海域,在暹羅灣遭遇葡萄牙艦隊突襲。童猛為掩護船隊突圍,駕駛火船與敵艦同歸于盡,留下最后的忠義絕唱。 第二節《血染王城》 李俊與暹羅舊貴族勢力在曼谷河畔展開決戰。中原陣法與暹羅象兵碰撞出驚心…

1.portainer

容器可視化工具 商業版Business、社區版Community docker容器部署portainer,對外暴露端口9443是一個自簽名的證書端口。還有另外一個暴露的端口8000。 volume 要想看得到,需要通過 portainer可視化界面看到volume,就必須使用: d…

使用Starrocks制作拉鏈表

5月1日向ods_order_info插入3條數據: CREATE TABLE ods_order_info(dt string,id string COMMENT 訂單編號,total_amount decimal(10,2) COMMENT 訂單金額 ) PRIMARY KEY(dt, id) PARTITION BY (dt) DISTRIBUTED BY HASH(id) PROPERTIES ( "replication_num&q…

Linux下Docker使用阿里云鏡像加速器

在中國大陸環境中配置 Docker 使用阿里云鏡像加速器,并確保通過 Clash 代理訪問 Docker Hub 我這里用的Debian12。 步驟 1:獲取阿里云鏡像加速器地址 登錄阿里云容器鏡像服務控制臺:(qinyang.wang) 網址:阿里云登錄 - 歡迎登錄阿…

Electron 后臺常駐服務實現(托盤 + 開機自啟)

基于 electron-vite-vue 項目結構 本篇將詳細介紹如何為 Electron 應用實現后臺常駐運行,包括: ? 創建系統托盤圖標(Tray)? 支持點擊托盤菜單控制窗口顯示/退出? 實現開機自啟功能(Auto Launch) &#…

opencv的直方圖

理解并運用 OpenCV 中的圖像直方圖 📊🖼? 圖像直方圖是計算機視覺和圖像處理中一種基本且強大的工具,它提供了圖像像素強度分布的圖形化表示。OpenCV 作為一個全面的計算機視覺庫,內置了計算和可視化直方圖的強大功能。本文將深…

Linux 內核探秘:從零構建 GPIO 設備驅動程序實戰指南

在嵌入式系統開發領域,GPIO(通用輸入 / 輸出)作為硬件與軟件交互的橋梁,是實現設備控制與數據采集的基礎。編寫高效、穩定的 GPIO 設備驅動程序,對于發揮硬件性能至關重要。本文將深入剖析 Linux 內核中 GPIO 驅動開發…

嵌入式單片機中STM32F1演示寄存器控制方法

該文以STM32F103C8T6為示例,演示如何使用操作寄存器的方法點亮(關閉LED燈),并講解了如何調試,以及使用宏定義。 第一:操作寄存器點亮LED燈。 (1)首先我們的目的是操作板子上的LED2燈,對其實現點亮和關閉操作。打開STM32F103C8T6的原理圖,找到LED2的位置。 可以看到…

牛客網 NC16407 題解:托米航空公司的座位安排問題

牛客網 NC16407 題解:托米航空公司的座位安排問題 題目分析 解題思路 本題可以采用深度優先搜索(DFS)來解決: 從左上角開始,按行優先順序遍歷每個座位對于每個座位,有兩種選擇: 選擇該座位(如果滿足條件…

智慧展館數字孿生平臺

2022年進博會上,國家會展中心憑借“數字孿生機器人調度平臺”驚艷全球,實現人機協同、虛實聯動的智慧運營;2023年天府農博園通過“BIMIoT”技術,貫穿展館全生命周期管理,成為農業會展的數字化標桿。這些案例背后&#…

胡說八道1---豆包問答總結

用戶提問 1 指令:25 - - [21/May/2025:01:35:45 0000] “POST /prod-api/system/base/getList HTTP/1.1” 405 559 “http://192.168.1.109:16380/login” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 …