主頁 >  其他 > Git??

Git??

2020-09-23 21:26:50 其他

???git命令速查表:


??學習目錄:


??git 簡介:


  • Git 是世界上最牛逼??的分布式版本控制系統

版本控制 是一個用來??記錄一個或多個檔案??內容變化,以便將來查閱??特定版本的修訂情況的系統

  • 作業區(Working Directory):程式員進行???開發、改動、可視的目錄??或檔案夾??
  • 平常我們開發就是拷貝遠程倉庫??中的一個分支,基于該分支進行開發,在開發程序中就是對作業區的操作
  • 暫存區(Stage):?? git add 添加檔案的相關資訊??(檔案名、大小、timestamp...),以 id ??每個檔案物體
  • ?? git status ??查看暫存區的狀態,暫存區??標記了你當前作業區中,哪些內容是被git管理的
  • 版本庫(Repository):保存了??物件被提交過的各個版本???,比起作業區和暫存區的內容更舊一些
  • ?? git commit ?? index目錄樹??到本地倉庫,??通過?? git push 同步本地倉庫與遠程倉庫

本章小結??

  • 任何物件都是在作業區?????中誕生和被修改;
  • 任何修改都是從進入index區??才開始被版本控制;
  • 只有把修改提交到本地倉庫??,該修改才能在倉庫中留下痕跡;
  • 與協作者分享本地的修改,可以把它們push到??遠程倉庫來共享

區域之間??

操作命令??


HEAD : 始終指向??當前所處分支的最新的提交點,你所處的分支變化了,或者產生了新的提交點,HEAD就會跟著改變

?ADD

ADD : 實作將作業區??修改的內容提交到暫存區??,交由git管理

#添加當前目錄的所有檔案到暫存區
> - ?? git add .

#添加指定目錄到暫存區,包括子目錄
>- ?? git add [dir]

#添加指定檔案到暫存區
> - ?? git add [file1]

??COMMIT

COMMIT : 實作將暫存區??的內容提交到本地倉庫??,并使得當前分支的HEAD??向后移動一個提交點

#提交暫存區到本地倉庫,??message 代表說明資訊??
> - ?? git commit -m [message]

#提交暫存區的指定檔案到本地倉庫???
>- ?? git commit [file1] -m [message]

#使用一次新的commit,??替代上一次提交
> - ?? git commit --amend -m [message]

branch???

#列出所有本地分支???
> - ?? git branch

#列出所有遠程分支??
>- ?? git branch -r

#??所有本地分支和遠程分支
> - ?? git commit --amend -m [message]

#??新建一個分支,但依然停留在當前分支
> - ?? git branch [branch-name]

#新建一個分支,并切換到??該分支
> - ?? git checkout -b [branch-name]

#新建一個分支,與指定的遠程分支建立??追蹤關系
> - ?? git branch --track [branch][remote-branch]

#??切換到指定分支,并??更新作業區
> - ?? git checkout [branch-name]

#??洗掉分支
> - ?? git branch -d [branch-name]


#?洗掉遠程分支
> - ?? git push origin --delete [branch-name]

merge??

merge : 把不同的分支合并起來

#merge之前先拉一下遠程倉庫最新代碼
> - ?? git fetch [remote]

#合并指定分支到當前分支
>- ?? git merge [branch]

Git Cheat Sheet


初始化倉庫

- 初始化倉庫
?? git init

- 初始化裸倉庫
?? git init --bare

- 克隆倉庫
?? git clone <git-repo>

配置

- 編輯組態檔
?? git config [--global] -e

- 列出配置資訊
?? git config -l

- 獲取相應的配置
?? git config --get core.editor

- 配置用戶郵箱
?? git config --global user.email <mail>

- 配置用戶名
?? git config --global user.name <name>

- 輸出彩色資訊
?? git config color.ui true

- 設定檔案名大小寫敏感
?? git config core.ignoreCase false

- 設定推送策略為 simple
?? git config push.default simple

- 設定 git 的編輯器是 vim
?? git config --global core.editor vim

- 設定命令別名
?? git config --global alias.co checkout

忽略檔案

- 添加本專案的忽略檔案
?? vim .gitignore

- 添加本專案的忽略檔案并不把此檔案納入版本管理
?? vim .git/info/exclude

- 設定全域忽略檔案
?? git config --global core.excludesfile ~/.gitignore

- 對已加入版本管理的檔案不做更改檢查
?? git update-index --assume-unchanged <file>

- 對已加入版本管理的檔案做更改檢查
?? git update-index --no-assume-unchanged <file>

添加洗掉移動檔案

- 添加所有檔案到暫存區,包括未追蹤檔案
?? git add -A

- 更新暫存區檔案
?? git add -u

- 互動式添加檔案到暫存區
?? git add -p

- 作業區與暫存區洗掉檔案
?? git rm <file>

- 僅暫存區洗掉檔案
?? git rm --cached <file>

- 重命名暫存區檔案
?? git mv <file> <file1>

作業區狀態

- 查看作業區的資訊
?? git status

- 查看作業區資訊并顯示分支及追蹤資訊
?? git status -sb

- 并查看忽略檔案的資訊
?? git status --ignored

- 列出忽略檔案
?? git check-ignore *

顯示更改

- 顯示作業區與暫存區的不同
?? git diff

- 顯示暫存區與本地倉庫的不同
?? git diff --cached

- 顯示作業區,暫存區與本地倉庫的不同
?? git diff HEAD

- 僅顯示改變的檔案
?? git diff --name-only

- 比較兩次提交的差異
?? git diff <commit> <commit>

- 顯示某次 commit 所做的更改
?? git show <commit>

列出檔案資訊

- 列出暫存區檔案
?? git ls-files

- 列出忽略檔案與未追蹤檔案
?? git ls-files -o

- 子目錄中顯示所在位置
?? git ls-files --full-name

儲藏與恢復

- 儲藏(stash)作業區相對暫存區更改的檔案
?? git stash

- 儲藏檔案并添加描述資訊
?? git stash save <message>

- 恢復最后一次儲藏的檔案
?? git stash apply

- 恢復最后一次儲藏的檔案并洗掉此次儲存記錄
?? git stash pop

- 查看儲藏串列
?? git stash list

恢復作業區

- 重置作業區某檔案
?? git checkout -- <file>

- 重置作業區
?? git checkout .

- 列出將要清除的未追蹤檔案
?? git clean -n

- 清除未追蹤檔案
?? git clean -f

- 清除忽略檔案
?? git clean -Xf

- 清除未追蹤目錄及檔案
?? git clean -df

回退版本

- 重置暫存區
?? git reset

- 重置作業區和暫存區
?? git reset --hard

- 恢復本分支到某次提交,重置作業區與暫存區
?? git reset --hard <commit-ish>

- 恢復本分支到某次提交
?? git reset --soft <commit-ish>

- 恢復本分支到某次提交,重置暫存區
?? git reset --mixed <commit-ish>

- 反向恢復一個提交并生成新的提交
?? git revert <commit>

分支

- 列出本地分支
?? git branch

- 列出本地分支與追蹤關系
?? git branch -vv

- 列出遠程分支
?? git branch -r

- 列出所有分支
?? git branch -a

- 建立分支不切換作業區
?? git branch <branch>

- 洗掉已被合并的分支
?? git branch -d <branch>

- 強制洗掉未被合并的分支
?? git branch -D <branch>

- 更改分支名字
?? git branch -m <newbranch>

- 設定追蹤分支
?? git branch -u <upstream>

切換分支

- 切換分支
?? git checkout <branch>

- 建立分支并切換作業區
?? git checkout -b <branch>

- 切換到最近一次分支
?? git checkout -

- 建立無任何提交歷史的分支
?? git checkout --orphan <branch>

合并分支

- 合并 develop 分支到本分支
?? git merge develop

- 強制合并分支后生成 merge commit
?? git merge -no-ff develop

- 合并最近切換分支
?? git merge -

- 變基合并 develop 分支
?? git rebase develop

- 變基進入互動式界面
?? git rebase -i

遠程倉庫

- 添加遠程倉庫并命名為 origin
?? git remote add origin <git-repo>

- 修改遠程倉庫的地址
?? git remote set-url origin <git-repo>

- 列出所有的遠程倉庫
?? git remote -v

- 列出遠程倉庫 origin 的詳細資訊
?? git remote show origin

- 推送與拉取
?? git config push.default simple

設定默認推送策略為 simple

- 推送 master 到遠程倉庫
?? git push origin master

- 推送到遠程倉庫并建立追蹤關系
?? git push -u origin master

- 推送時忽略 pre-push hook
?? git push -n

- 從遠程倉庫拉取檔案
?? git pull origin master

- 設定 rebase 模式拉取代碼
?? git pull --rebase origin master

提交

- 提交
?? git commit -m <message>

- 追加提交重置提交資訊
?? git commit --amend -m <message>

- 重置作者
?? git commit --amend --author=<mail>

- 允許空提交
?? git commit --allow-empty

- 提交時跳過 pre-commit hook
?? git commit -n

日志

- 顯示提交日志
?? git log

- 顯示某檔案的提交日志
?? git log -p <file>

- 以圖表形式顯示提交日志
?? git log --graph --all --oneline --decorate

- 顯示每次提交的物件資訊
?? git log --pretty=raw

- 顯示某個時間段的提交資訊
?? git log --since '2 days ago'

- 顯示指定作者的提交資訊
?? git log --author=<author>

- 根據提交資訊中的關鍵字查找
?? git log --grep=<keyword>

- 根據提交原始碼中的關鍵字查找
?? git log -S <keyword>

- 列出二者特有的提交
?? git log master...develop

- 列出 branch 有而 branch2 沒有的提交
?? git log branch2..branch

- 僅顯示 merge commit
?? git log --merges

- 統計每個作者的提交情況
?? git shortlog

- 統計每個作者的提交個數
?? git shortlog -sn

標簽

- 列出所有標簽并顯示標簽資訊
?? git tag -ln

- 添加一個標簽
?? git tag -a v1.0.0 -m <message>

- 在某個 commit 上添加一個標簽
?? git tag v0.9.0 <commit>

- 洗掉一個標簽
?? git tag -d v1.0.0

- 查看某個標簽資訊
?? git show v1.0.0

- 推送所有標簽到遠程倉庫
?? git push --tags

- 使用最近的標簽描述本次提交
?? git describe

追責(甩鍋)

- 找到最后一次提交的作者
?? git blame <file>

- 找到具體某一段的最后一次提交
?? git blame -L 10,18 <file>

- 查找檔案的修改歷史及明細
?? git log -p <file>

確認壞的提交

- 二分查找壞的提交
?? git bisect start <br> git checkout HEAD~20 <br> git bisect good <br> git bisect bad <br> git bisect reset

git物件

- 獲取改摘要資訊的型別
?? git cat-file -t <hash>

- 獲取改摘要資訊的內容
?? git cat-file -p <hash>

查找

- 在已追蹤檔案中查找關鍵字并指明行號
?? git grep -n hello

打包

- 打包
?? git archive -o arch.zip HEAD

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/114555.html

標籤:其他

上一篇:認識站內鏈接

下一篇:基于密度的網頁串列抽取

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more