Git常用命令與基本操作

Git操作指令

  • 系統配置
  • 基本命令
    • 獲取/刪除Git倉庫
    • 更新記錄
    • 撤銷操作
    • 遠程倉庫的使用
  • 分支系統

系統配置

git config 為系統自帶的配置指令,它可以控制GIT的行為和外觀

配置用戶信息
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
--global選項表示全局,只需要運行一次,如果沒有特別配置,那么都將使用上述配置信息
如果需要為某個項目單獨設置用戶名和郵箱,運行沒有--global選項的指令即可git config user.name "Tom Hasns"

配置默認文本編輯器
git config --global core.editor emacs設置emacs為默認的文本編輯器,emacs是Linux和Mac上常用的文本編輯器

檢查配置
使用git config --list檢查配置,也可以使用git config <key>單獨檢查某項配置,如git config user.name

獲取幫助
有三種方式可以獲取幫助 git help <verb>git <verb> --helpman git-<verb>

基本命令

獲取/刪除Git倉庫

獲取Git倉庫的方式有兩種,第一種是在現有項目或目錄下導入所有文件到 Git 中; 第二種是從一個服務器
克隆一個現有的 Git 倉庫

創建倉庫 git init,在當前文件夾創建一個名為.git的子目錄,該目錄中包含Git倉庫所有的必須文件,并且該目錄為隱藏屬性

克隆倉庫 git clone <url>,會在當前文件夾創建目標項目文件夾,然后將目標項目文件及倉庫全部下載到目標文件夾中,值得注意的是,該命令只能下載當前活動分支。也可以指定目標文件夾git clone <url> <dirname>

刪除倉庫 git rm -rf .git,實際上就是刪除.git文件夾,使用命令行刪除或者手動刪除都可以

更新記錄

檢查文件狀態 git status

跟蹤新文件 / 暫存已修改文件 git add <filename>

忽略文件touch .gitignore,創建一個名為 .gitignore的文件(手動創建也可以), cat .gitignore查看/列出要忽略的文件模式

提交更新git commit,提交更新時,默認只會提交暫存區里的文件,并且調用默認文本編輯器以便輸入本次提交的說明,推薦使用-m選項的方式輸入提交說明git commit -m "commit explain"
還可以使用-a選項來跳過暫存區,將所有已跟蹤文件暫存起來一并提交git commit -a -m "all file"

移除文件git rm從跟蹤文件清單中移除,并且將實際文件一并刪除,-f強制刪除,--cached從倉庫中移除并且不再跟蹤,但保留實際文件

移動文件git mv <file_from> <file_to>移動文件指令也可以對用于對文件改名

查看提交歷史git log-p用來顯示每次提交的內容差異,也可以使用-2來查看最近2次的提交內容

撤銷操作

當操作錯誤時,我們通常需要用到撤銷操作,以便重新提交,下面幾個方法可以達到類似效果

重新提交 git commit --amend當我們提交完后發現漏掉幾個文件沒有添加,或者提交提交信息寫錯了,可以運行帶有--amend選項的提交命令嘗試重新提交,它將覆蓋上一次的提交結果

git commit -m 'initial commit'
git add forgotten_file
git commit --amend

取消暫存文件 假如修改了兩個文件,希望他們作為兩次獨立提交,但是卻意外地輸入了git add *暫存了它們兩個。 如何只取消暫存兩個中的一個呢?git status命令給出了提示(use "git reset HEAD <file>..." to unstage),使用git reset HEAD <file>...

撤銷對文件的修改 git checkout -- <file>...將文件還原成上一次提交的狀態

遠程倉庫的使用

查看遠程倉庫 git remote 命令會列出你指定的每一個遠程倉庫的簡寫,如果克隆了一個倉庫,那至少可以看到origin,這是Git給克隆倉庫服務器的默認名字,使用-v選項可以看到遠程倉庫簡寫和對應的URL

添加遠程倉庫git remote add <shortname> <url>

拉取數據 git fetch [remote-name] [branch-name]從遠程倉庫中拉取所有你還沒有的數據,執行完后將擁有遠程倉庫中所有分支
git pull [remote-name] [branch-name]

推送數據 git push [remote-name] [branchname]將數據推送到遠程分支

分支系統

查看分支 git branch-r查看遠程分支,-a查看所有分支(遠程和本地),-v查看每一個分支最后一次提交

創建分支 git branch <branch-name>-d刪除分支

切換分支 git checkout <branch-name>-b創建并切換到該分支

合并分支 git merge <branch-name>將branch-name分支合并到當前分支

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

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

相關文章

CA周記 - 在 Azure ML 上用 .NET 跑機器學習

.NET 是一個跨平臺&#xff0c;全場景應用的開源技術。你有在用 .NET 做機器學習/深度學習的應用嗎&#xff1f;如果從框架角度&#xff0c;ML.NET / Tensorflow.NET / 不斷在進步的 TorchSharp 通過幾年的發展已經開始穩定&#xff0c;但如果在一些大型項目上&#xff0c;特別…

iOS10 優化APP首次安裝網絡權限提示方案

我剛經歷了一場末日&#xff08;停電&#xff09;&#xff0c;特別是在你想寫文檔的時候。。。 言歸正傳&#xff0c;今天的問題是解決iOS10系統下首次按鈕APP彈出的網絡權限提示所帶來了問題以及優化。 起因 查了相關文章知道由于大陸工信部出臺的新規指出&#xff0c;應用在未…

su命令

從一個用戶切換到另一個用戶&#xff1a;su - ceshi(ceshi是用戶名) 查看當前用戶&#xff1a;whoami 在不切換用戶的情況執行另一個用戶的命令&#xff1a;例&#xff1a;su - -c "touch /tmp/111.txt" admin 若用戶沒有加目錄需要添加家目錄&#xff0c;并更改所有…

C語言基礎知識【數據類型】

C 數據類型1.在 C 語言中&#xff0c;數據類型指的是用于聲明不同類型的變量或函數的一個廣泛的系統。變量的類型決定了變量存儲占用的空間&#xff0c;以及如何解釋存儲的位模式。2.C 中的類型可分為以下幾種&#xff1a;序號 類型與描述1 基本類型&#xff1a;它們是算…

PS批量替換內容

在制作圖片物料的時候&#xff0c;有時會碰到需要制作大量內容格式一致&#xff0c;但部分文字或圖片不同的圖片&#xff0c;這里我們使用PS的變量功能 物料準備&#xff1a;準備好需要替換的圖片和文字&#xff0c;使用excel制作出需要替換的內容&#xff0c;第一行name和pic…

在 .NET 中執行 JavaScript 代碼

你好&#xff0c;這里是 Dotnet 工具箱&#xff0c;定期分享 Dotnet 有趣&#xff0c;實用的工具和組件&#xff0c;希望對您有用&#xff01;Jint 簡介如果您想在您的 .NET 程序中使用 Javascript&#xff0c;那么我推薦您使用 Jint。Jint 是適用于 .NET 的 開源 Javascript 解…

【本周面試題】第5周 - 開發工具相關

待整理轉載于:https://www.cnblogs.com/padding1015/p/10095424.html

JS 返回上一步(退回上一步上一個網頁)

鏈接式&#xff1a; <a href"javascript:history.go(-1)">返回上一步</a> <a href"<%Request.ServerVariables("HTTP_REFERER")%>">返回上一步</a> 按鈕式&#xff1a; <INPUT name"pclog" type&quo…

jmeter多用戶登錄跨線程組操作傳值

項目需求&#xff1a; 需要登錄兩個用戶A、B&#xff0c;用戶A操作完后會通知B&#xff0c;然后B再操作&#xff0c;B操作完結束或者再通知A。 實現思路&#xff1a; 1. 設置兩個線程組Ⅰ、Ⅱ&#xff0c;組Ⅰ添加cookie管理器&#xff0c;里面添加用戶A的操作&#xff1b;組Ⅱ…

手動修改美化7zip圖標 - 附替換文件

手動修改7zip圖標理論知識制作ico圖標文件替換資源重建圖標緩存效果圖替換文件7-Zip的自帶圖標是公認的丑&#xff0c;所以網上有很多7-Zip的圖標美化工具&#xff0c;用的最多的就是 7-Zip Theme Manager&#xff0c;自帶很多主題&#xff0c;但是最近我再使用7zTM修改圖標是卻…

.NET性能優化-復用StringBuilder

在之前的文章中&#xff0c;我們介紹了 dotnet 在字符串拼接時可以使用的一些性能優化技巧。比如&#xff1a;為StringBuilder設置 Buffer 初始大小使用ValueStringBuilder等等 不過這些都多多少少有一些局限性&#xff0c;比如StringBuilder還是會存在new StringBuilder()這樣…

如何使用vue組件搭建網頁并打包發布

vue組件化項目搭建及編譯打包發布引言開發環境開發環境介紹開發環境安裝使用模板創建項目編譯及打包發布引言 最近開始學習Vue&#xff0c;Vue 是一個前端框架&#xff0c;特點是數據綁定和組件化。網上很多教程&#xff0c;數據綁定和組件學習起來也都不困難&#xff0c;但是…

MyBatis 分頁插件 PageHelper

插件官網 簡介&#xff1a; 支持常見的 12 種數據庫。Oracle,MySql,MariaDB,SQLite,DB2,PostgreSQL,SqlServer 等&#xff1b; 支持常見的RowBounds(PageRowBounds)&#xff0c;PageHelper.startPage 方法調用&#xff0c;Mapper 接口參數調用&#xff1b; 獲取maven配置 示例&…

Facebook揭秘其應用測試平臺,并開源核心技術

本周&#xff0c;Facebook讓一群記者參觀了它位于俄勒岡州普賴恩維爾市的數據中心&#xff0c;在這個過程中也展示了他們的一個移動應用測試實驗室&#xff0c;用來測試Facebook app、 Messenger 和Instagram。 目前 這個實驗室總共含有60個機架&#xff0c;每個機架上放置32臺…

責任鏈模式 職責鏈模式 Chain of Responsibility Pattern 行為型 設計模式(十七)

責任鏈模式&#xff08;Chain of Responsibility Pattern&#xff09;職責鏈模式意圖 使多個對象都有機會處理請求&#xff0c;從而避免請求的發送者和接受者之間的耦合關系將這些對象連接成一條鏈&#xff0c;并沿著這條鏈傳遞請求&#xff0c;直到有一個對象處理它為止。責任…

YOLOv7 在 ML.NET 中使用 ONNX 檢測對象

本文介紹如何在 ML.NET 中使用 YOLOv7 的 ONNX 模型來檢測圖像中的對象。什么是 YOLOYOLO&#xff08;You Only Look Once&#xff09;是一種先進的實時目標檢測系統。它是一個在COCO數據集上預訓練的物體檢測架構和模型系列&#xff0c;其版本也是在不斷優化更新。2022年7月&a…

Vue中render: h = h(App)的含義

原文地址&#xff1a;Explanation for render: h > h(App) please 翻譯如下&#xff1a; render: h > h(App) 是下面內容的縮寫&#xff1a; render: function (createElement) {return createElement(App); }進一步縮寫為(ES6 語法)&#xff1a; render (createElem…

NppFTP小插件的使用

大家在Linux系統中配置運行環境時&#xff0c;一定會遇到相關配置文件的修改&#xff0c;雖說在Linux系統中可以使用vi,vim的命令進行文本編輯&#xff0c;但是操作起來還是沒有在Windows系統中用的爽&#xff0c;特別是操作大文本量的文件時。Notepad里提供了一個小插件&#…

『實戰』使用Excel催化劑二維碼功能批量生成帶不同圖案二維碼。

熟悉Excel催化劑的老讀者都知道&#xff0c;每逢圖書大促&#xff0c;筆者都會向出版社申請優惠碼優惠券來惠及廣大粉絲。當然公眾號上幫出版社推薦圖書&#xff0c;會有傭金回報&#xff0c;這也是筆者唯一能接受的推廣方式。公眾號自創立以來&#xff0c;沒有接過軟文&#x…

springboot ElasticSearch 簡單的全文檢索高亮

前陣子和張三豐聊天提到了es。這次正好有機會學習并使用 首先引入依賴 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency> 配置文件 spring.data.…