一、概念git reflog
二、常用命令
命令:git init
,將目錄變成git可以管理的倉庫
命令:git add
,將檔案新增到git倉庫,可以多次新增
命令:git commit -m
,將檔案提交,只需一次提交
命令:git log
,顯示最近到最遠的提交日誌(–pretty=onelint,將多行合併一行)
命令:git reset --hard head^
,回到上乙個版本,在git中,head表示當前版本,上乙個版本就是head^,上上個版本就是head^^,如果是多個則使用head~10(回到前10個版本)
命令:git reflog
,記錄每次操作命令
命令:git reset --hard commit_id
,回到指定版本
命令:git diff head --
,檢視檔案工作區版本和庫中最新版本的區別
三、工作區和暫緩區關係
第一步是用git add把檔案新增進去,實際上就是把檔案修改新增到暫存區;
第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。
四、撤銷修改
場景1:當改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令:git checkout -- file
場景2:當不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令:git reset head
,就回到場景1的情況,再安裝場景1處理
場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參版本回退方法(前提是沒有推送到遠端庫)
五、刪除檔案
git checkout -- test.txt
其實是用版本庫里的版本替換工作區的版本,無論工作區的是修改還是刪除,都可以「一鍵還原」
git rm
用於刪除乙個檔案。如果乙個檔案已經被提交到版本庫,那麼永遠不用擔心誤刪,但要訊息,只能恢復檔案到最新的版本,會丟失最近一次提交後修改的內容
六、建立金鑰
ssh-keygen -t rsa -c "[email protected]"
然後輸入檔名id_rsa,連續空格鍵,在git包下即可找到id_rsa.pub檔案裡既是金鑰
七、推送到遠端服務
把本地master分支的最新修改推送至github,命令:git push origin master
轉殖遠端服務,例:git clone [email protected]:michaelliao/gitskills.git
八、建立與合併
分支建立:git checkout -b
,在git checkout命令上新增-b引數表示建立並切換,name分支名
檢視所有分支,git branch
,當前分支前會有「*」
合併分支,git merge
,合併指定分支到當前分支
刪除分支,git branch -d
檢視分支合併圖,git log --graph --pretty=online --abbrev-commit
九、分支管理策略
fast forward模式下,刪除分支後會丟掉分支資訊。git merge --no-ff -m
:表示禁用該fast forward模式
十、bug分支
2.git還提供了乙個stash功能,可以把當前工作現場「儲藏」起來,等以後恢復現場後繼續工作,git stash
十
一、新功能
在開發乙個新的feature,最好新建乙個分支;如果要丟棄乙個沒有被合併過的分支,可以通過git branch -d
強行刪除 十
二、多人協作
當從遠端倉庫轉殖時,實際上git自動把本地的master分支和遠端的master分支對應起來,並且,遠端倉庫的預設名稱時origin。檢視遠端庫資訊,使用命令:git remote
,或者git remote -v
顯示更詳細的資訊
2. 推送分支git push origin master
,如果推送其他分支,比如dev,git push origin dev
十三、抓取分支
預設情況下,只能看到本地master分支,要在dev分支上開發,就必須遠端建立origin的dev分支到本地,命令:git checkout -b branch-name origin/branch-name
例:git checkout -b dev origin/dev
本地新建的分支如果不推送到遠端,對其他人就是不可見的
從本地推送分支,使用git push origin branch-name
,如果推送失敗,先用git pull
抓取遠端的新提交,如果抓取失敗,則需要建立本地分支與遠端分支的鏈結git branch --set-upstream branch-name origin/branch-name
rebase操作可以把本地未push的分叉提交歷史整理成直線,git rebase
十四、標籤
檢視標籤資訊,命令git show
刪除本地標籤,命令:git tag -d
,
如果要推送某個標籤到遠端,使用命令:git push origin
,或者,一次性推送全部尚未推送到遠端的本地標籤:git push origin --tags
如果標籤已經推送到遠端,要刪除,則先刪除本地:git tag -d
,然後刪除遠端:git push origin :refs/tags/
十五、關聯遠端庫
命令:git remote add origin [email protected]:使用者名稱/專案名.git
git的概念和常用命令
官方定義 git是版本控制工具。這裡的版本其實是每一次發布的 git會把每一次提交的 都儲存下來,並給它乙個叫做 版本號 的編號。這類似於期刊出版的過程,每一次出版都有它的期號。git具有備份檔案的功能,允許我們找到修改前的檔案,可以 反悔 git具有分支機制,像寫 可以分出幾條支線。這樣允許我們在...
Git 重要概念和常用命令
本文是git的學習筆記,教程請移步 廖雪峰 git 教程。目錄.git,是git的版本庫。git的版本庫里存了很多東西,其中最重要的就是稱為stage 或者叫index 的暫存區,還有git為我們自動建立的第乙個分支master,以及指向master的乙個指標叫head。git add把檔案新增進去...
常用命令 Git 常用命令大全
安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...