GIt版本管理工具

經常使用命令

  • ls 查看當前文件夾裏面文件
  • ls -a / ls -ah 查看當前文件夾裏面文件(包含隱藏文件 eg: .get .history .idea...)
  • pwd 顯示當前目錄 (eg:/d/WorkSpace/project/kol-Editor-Sop/kol-Editor-Sop/resources )
  • mkdir 文件夾名 建立文件夾
  • touch 文件名 建立文件
  • ls -la 查看該目錄下全部文件(包含隱藏文件)
  • dir 查看文件夾裏面的文件目錄
  • D: 進入文件目錄
  • cat 文件名 查看文件內容

1.安裝git配置git

git-scm.com/download/wi…

全局配置

  • $ git config --global user.name "Your Name"
  • $ git config --global user.email "email@example.com"

局部配置(某個項目配置)

  • $ git config user.name "Your Name"
  • $ git config user.email "email@example.com"

初始化git倉庫,git進行管理

注意: 當前目錄下多了一個.git的目錄,這個目錄是Git來跟蹤管理版本庫,千萬不能手動修改,若是看不到用 ls -a命令查看git

git init 
複製代碼

.git文件夾裏面的文件配置信息說明bash

  • hooks
  • info
  • objects
  • refs
  • config
  • description
  • HEAD

git工做的三個區域

  • 工做區app

  • 暫存區ide

  • 版本區字體

git add             git commit
    工做區 ================>  暫存區 ================> 版本區
    
    1. 工做區的文件修改都是紅色的
    2. 暫存區的文件都是綠色的
    工做區(Working Directory)  =>git add 到暫存區    取消用  git reset HEAD  <fileName>      
    工做區文件爲紅色    暫存區 (Stage) =>git commit 到版本區	字體爲綠色			暫存區文件爲綠色  
複製代碼

2.版本回退 [ git reset --hard HEAD^ /commit-id]

git log ==>> 顯示從最近到最遠的提交日誌,  由上往下是最新到最老的版本
git log  --pretty=oneline  ===>> 一行顯示   [ commit id 提交記錄的id,每提交一次都會生成一個,十六進制 ]

HEAD文件裏面都是指針
在Git中,用HEAD表示當前版本 ,回退到上一個版本  ^    , 上上個^^   ....   或者 ~數字
git reset --hard HEAD^ 上一個版本
git reset --hard HEAD^^ 上倆個版本

git reflog	查看記錄你的每一次命令
複製代碼

3.前進版本 [ git reset --hard commit-id ]

注意:
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 
複製代碼

4.文件刪除[ git rm 文件名 ]

1) 右擊刪除 => 沒有進入暫存區, 只是刪除了工做區的文件,   git add => git commt 提交
2) git rm 文件名   不只刪除了文件,並且還添加到了暫存區 => git commit 提交

誤刪除撤回:(用版本庫裏的版本替換工做區的版本,不管工做區是修改仍是刪除,均可以「一鍵還原」。)
 git checkout  -- 文件名
 git checkout .   撤回所有

複製代碼

5.分支處理

分支:ui

注意:
1) 本地分支若是修改了沒有添加到暫存區或者版本區,是能夠切換到其餘分支,在其餘分支能夠用git status 進行查看分支合併,若是有,沒有提交的文件,是不會進行合併的

2) =>HEAD指向的就是當前分支,指針

3) master主分支,一條

4) 當咱們建立新的分支,例如dev時,Git新建了一個指針叫dev,指向master相同的提交,再把HEAD指向dev,就表示當前分支在dev上:
複製代碼
5.1查看分支
git branch  查看本地分支, 當前分支前面會標一個*號
 git branch -r 查看遠程分支 帶origin的表示遠程分支  紅色的
 git branch -vv 本地分支和遠程分支對應關係
複製代碼
5.2建立分支/切換分支 [ git checkout -b 分支名 ]

注意: 注意: git checkout命令加上-b參數表示建立並切idea

git branch 分支名  建立本地分支
git checkout 分支名  切換本地分支

git checkout -b 分支名 ==>  建立而且切換到改分支 => git branch 分支名  git checkout 分支名

git branch master 切換到主分支
複製代碼
5.3合併分支 [ git merge 分支名 ]
  • 分支合併到主分支: => 分支提交代碼,切換到主分支,進行git merge 分支名合併
  • 分支合併到分支
git merge 分支名  ==>  用於合併指定分支到當前分支 
 注:  若是分支上有,沒有提交的代碼是不能夠合併的,提交完畢才能夠合併
 
 git checkout master
 git merge 分支名  將當前分支代碼合併到主分支
複製代碼
  • 合併分支衝突解決
進入衝突模式進行退出輸入:    :wq退出
 
  <<<<<<<<<<<<  HEAD 
     code ...
    ===============
     code
     
     >>>>>>>>>>>>>>
    
    處理衝突完成,進行提交代碼, 刪除合併過來的分支
複製代碼
5.4刪除分支

注意: ==>處在當前分支是不能刪除當前分支的,切換到其餘分支進行刪除spa

  • 刪除本地分支 git branch -d ([ Deleted branch develop (was fcaaa1a). ] )
  • 刪除遠程分支 git push origin -d

6. 解決衝突

儲藏你的工做 git statsh
存儲: 
      能夠獲取你工做目錄的中間狀態——也就是你修改過的被追蹤的文件和暫存的變動——並將它保存到一個未完結變動的堆棧中,隨時能夠從新應用。
  場景:
      常常有這樣的事情發生,當你正在進行項目中某一部分的工做,裏面的東西處於一個比較雜亂的狀態,而你想轉到其餘分支上進行一些工做。問題是,你不想提交進行了一半的工做,不然之後你沒法回到這個工做點。解決這個問題的辦法就是git stash命令。
複製代碼

git stash 存儲完成,進行分支切換開發指針

# On branch master
  nothing to commit, working directory clean
複製代碼

git stash list 要查看現有的儲藏日誌

git branch 分支 切換回來,繼續進行開發,

git stash apply

相關文章
相關標籤/搜索