比較不同分支
# 將全部修改新增到暫存區
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...