git常用命令集

2021-09-25 20:14:58 字數 3974 閱讀 3936

比較不同分支

# 將全部修改新增到暫存區

git add .

# 提交到本地版本庫

git commit -m '解釋所做的修改'

# 提交到遠端xx分支

git push origin xx

# 第一次拉取別人的**

git clone ***

# 檢視分支情況(會指明當前所在分支以及已有的相關分支)

git branch

# 新建名為new的分支

git branch new

# 切換到dev分支

git checkout dev

# 直接拉取遠端版本庫中dev分支**到當前工作區

git pull origin dev

# 先拉取dev分支的**到本地版本庫,然後合併到當前工作區(==git pull)

git fetch origin dev

git merge dev

# 檢視檔案當前狀態(會顯示出所有修改過的,還未提交到遠端版本庫的檔案狀態)

git status

# 丟棄工作區中對***檔案的修改(注意短橫線前後要有空格)

git checkout -- ***

# 檢視歷史提交情況(加--graph看起來更清晰一點)

git log --graph

# 把分叉的提交歷史「整理」成一條直線,看上去更直觀(自我感覺就是按push到遠端的時間前後將提交進行了排序,治強迫症的)

git rebase

git 修改分支名

我用四個命令,總結了 git 的所有套路

git 常用命令及應用這一篇就夠了(新手向)

# 修改本地分支名

git branch -m oldname newname

# 刪除遠端分支

git push --delete origin oldname

# 上傳本地分支到遠端同名分支

git push origin head

# 將本次修改和上一次commit合併,作為乙個commit提交到history區

git commit --amend

# 撤銷某個stage裡的檔案修改,會儲存在工作區,變為unstage狀態

git reset a.txt = git reset --mixed head a.txt

# 合併多個commit

git reset 17bd20c # 回退到某次提交,不會改動**,將之前的**全放在工作區

git add . # 將工作區內容直接add, commit

git commit -m 'balabala'

# 檢視所有關鍵操作日誌,能看到reset一集所有commit的hash值

git reflog

# git 遠端分支強制覆蓋本地分支

# 更新所有的遠端倉庫資訊

git fetch --all

# 強制重置為 origin/master(可以換成你需要的遠端分支) 遠端分支

git reset --hard [origin/master]

# 拉取最新**

git pull

其實就是遇到問題才來 修改的命令(對,菜是原罪)

參考:git config配置

自定義git-配置git

git配置級別

優先順序引數選項

windows位置

倉庫級別

最高--local

具體倉庫下的.git/config

【「.」開頭的檔案為隱藏檔案,預設不可見,需要先開啟顯示隱藏檔案】

使用者級別

次之--global

使用者宿主目錄下的~/.gitconfig

【宿主目錄:使用者自己的目錄,比如我的c:\users\asus】

系統級別

最低--system

git安裝目錄下的 /etc/gitconfig

【但是我的是在git安裝目錄\git\mingw64\etc目錄下】

# 檢視git配置檔案

git config -l

# 檢視系統級別配置檔案(其他級別類似)

git config --system -l

# 獲取單個配置項(--get)

git config [--local|--global|--system] --get section.key (預設是獲取local配置中內容)

# 增加配置項(--add)

git config [--local|--global|--system] --add section.key value (預設是新增在local配置中)

# 編輯單個配置項(git config --global user.name 「your name」)

git config [--local|--global|--system] section.key value

# 進入檔案編輯配置項(-e | --edit)

git config --local -e

# 刪除配置項(--unset)

git config [--local|--global|--system] --unset section.key

# 檢視git配置的幫助文件

git config --help

clone在github的repo時,提示以下index-pack failed錯誤

...fatal: the remote end hung up unexpectedly

fatal: early eof

fatal: index-pack failed

# 解決方法一:

git config --add core.compression -1

git clone ***

# 解釋:

compression是壓縮的意思,

從clone 的終端輸出就知道,伺服器會壓縮目標檔案,然後傳輸到客戶端,客戶端再解壓。

取值為 [-1, 9],-1 以 zlib 為預設壓縮庫,0 表示不進行壓縮,1..9 是壓縮速度與最終獲得檔案大小的不同程度的權衡,

數字越大,壓縮越慢,當然得到的檔案會越小。

# 解決方法二:

用ssh轉殖

git 遇到了 early eof index-pack failed 問題

同步乙個 fork

github中fork後同步原倉庫

# 檢視遠端狀態(沒有配置遠端的fork倉庫時,只有origin 的兩個,乙個 fetch 和乙個 push)

git remote -v

# origin (fetch)

# origin (push)

# 新增乙個將被同步給fork遠端的上游倉庫(結束後再次檢視遠端狀態,應該會多出來fork的內容)

git remote add 自定義名稱 遠端的fork倉庫的位址

# origin (fetch)

# origin (push)

# upstream (fetch)

# upstream (push)

# 從上游倉庫 fetch 分支和提交點,儲存在本地的 upstream/master

git fetch upstream

# 切換到本地主分支,將 upstream/master 合併到本地 master

git checkout master

git merge upstream/master

# 更新到遠端的fork上

git push origin master

問題原因:

不詳,遇到過兩次,但是都不知道是什麼造成的

解決方法:

刪除當前專案中.git目錄中的index.lock檔案。.git是隱藏目錄,需要設定展示隱藏目錄才能看見

Git常用命令集

git的基本使用。設定賬號和郵箱關聯。git config global user.name your name git config global user.email email example.com 在磁碟上建立空目錄。mkdir test 建立空目錄,目錄名字為test cd test 進...

Git 四 Git 常用命令集

mkdir xx 建立乙個空目錄 xx 指目錄名 pwd 顯示當前目錄的路徑 git init 把當前的目錄變成可以管理的 git 倉庫,生成隱藏的.git 檔案。git add xx 把 xx 檔案新增到暫存區。git commit m xx 提交檔案 m 後面的是注釋 git status 檢視...

Git本地庫常用命令集

以下所有的git命令都是在測試目錄 git 下進行的.mkdir git git init git config user.name leslie git config user.email leslie leslie.com git config global user.name leslie g...