注意: 當前目錄下多了一個.git的目錄,這個目錄是Git來跟蹤管理版本庫,千萬不能手動修改,若是看不到用 ls -a命令查看git
git init
複製代碼
.git文件夾裏面的文件配置信息說明bash
工做區app
暫存區ide
版本區字體
git add git commit
工做區 ================> 暫存區 ================> 版本區
1. 工做區的文件修改都是紅色的
2. 暫存區的文件都是綠色的
工做區(Working Directory) =>git add 到暫存區 取消用 git reset HEAD <fileName>
工做區文件爲紅色 暫存區 (Stage) =>git commit 到版本區 字體爲綠色 暫存區文件爲綠色
複製代碼
git log ==>> 顯示從最近到最遠的提交日誌, 由上往下是最新到最老的版本
git log --pretty=oneline ===>> 一行顯示 [ commit id 提交記錄的id,每提交一次都會生成一個,十六進制 ]
HEAD文件裏面都是指針
在Git中,用HEAD表示當前版本 ,回退到上一個版本 ^ , 上上個^^ .... 或者 ~數字
git reset --hard HEAD^ 上一個版本
git reset --hard HEAD^^ 上倆個版本
git reflog 查看記錄你的每一次命令
複製代碼
注意:
1) HEAD指向的版本就是當前版本,所以,Git容許咱們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。
2) 穿梭前,用git log能夠查看提交歷史,以便肯定要回退到哪一個版本。
3) 要重返將來,用git reflog查看命令歷史,以便肯定要回到將來的哪一個版本。
4)每次修改,若是不用git add到暫存區,那就不會加入到commit中。 每次修改完了,若是想提交到版本區域,先進行到暫存區,在到版本區 eg: 針對一個文件修改了提交了,git add 了,在進行修改,直接commit,則第二次修改不會進行commit,從新add => commit
複製代碼
1) 右擊刪除 => 沒有進入暫存區, 只是刪除了工做區的文件, git add => git commt 提交
2) git rm 文件名 不只刪除了文件,並且還添加到了暫存區 => git commit 提交
誤刪除撤回:(用版本庫裏的版本替換工做區的版本,不管工做區是修改仍是刪除,均可以「一鍵還原」。)
git checkout -- 文件名
git checkout . 撤回所有
複製代碼
分支:ui
注意:
1) 本地分支若是修改了沒有添加到暫存區或者版本區,是能夠切換到其餘分支,在其餘分支能夠用git status 進行查看分支合併,若是有,沒有提交的文件,是不會進行合併的
2) =>HEAD指向的就是當前分支,指針
3) master主分支,一條
4) 當咱們建立新的分支,例如dev時,Git新建了一個指針叫dev,指向master相同的提交,再把HEAD指向dev,就表示當前分支在dev上:
複製代碼
git branch 查看本地分支, 當前分支前面會標一個*號
git branch -r 查看遠程分支 帶origin的表示遠程分支 紅色的
git branch -vv 本地分支和遠程分支對應關係
複製代碼
注意: 注意: git checkout命令加上-b參數表示建立並切idea
git branch 分支名 建立本地分支
git checkout 分支名 切換本地分支
git checkout -b 分支名 ==> 建立而且切換到改分支 => git branch 分支名 git checkout 分支名
git branch master 切換到主分支
複製代碼
git merge 分支名 ==> 用於合併指定分支到當前分支
注: 若是分支上有,沒有提交的代碼是不能夠合併的,提交完畢才能夠合併
git checkout master
git merge 分支名 將當前分支代碼合併到主分支
複製代碼
進入衝突模式進行退出輸入: :wq退出
<<<<<<<<<<<< HEAD
code ...
===============
code
>>>>>>>>>>>>>>
處理衝突完成,進行提交代碼, 刪除合併過來的分支
複製代碼
注意: ==>處在當前分支是不能刪除當前分支的,切換到其餘分支進行刪除spa
存儲:
能夠獲取你工做目錄的中間狀態——也就是你修改過的被追蹤的文件和暫存的變動——並將它保存到一個未完結變動的堆棧中,隨時能夠從新應用。
場景:
常常有這樣的事情發生,當你正在進行項目中某一部分的工做,裏面的東西處於一個比較雜亂的狀態,而你想轉到其餘分支上進行一些工做。問題是,你不想提交進行了一半的工做,不然之後你沒法回到這個工做點。解決這個問題的辦法就是git stash命令。
複製代碼
git stash 存儲完成,進行分支切換開發指針
# On branch master
nothing to commit, working directory clean
複製代碼
git stash list 要查看現有的儲藏日誌
git branch 分支 切換回來,繼續進行開發,
git stash apply