1. 程式人生 > >Git詳解

Git詳解

add 分支管理 需要 新的 ren upstream 管理方式 圖片 src

一.Git整體理解

  Git代碼管理是分布式管理方式系統.優點在於其極高的安全性和非常強大的分支管理

技術分享圖片

整體流程圖.png

  • 工作區(working directory): 就是本地的代碼區,電腦能看到的目錄,就是工作區
  • 暫存區(Index):工作區下有一個隱藏的‘.git‘文件,其主要作用是存儲Git自動創建的第一個master分支,還有指向master分支的HEAD指針.還有一個最重要的stage的暫存區.需要提交的文件修改通通放到暫存區,然後一次性提交到暫存區的所有修改
  • 本地倉:本地的個人倉庫.管理著個人的代碼的版本信息.
  • 遠程倉:線上的倉庫.管理著推送到服務器的代碼版本.

  過程1: 由工作區<->暫存區

  • 工作區->暫存區: 用git add . 添加所有的修改或者git add <文件名>添加單個指定的文件修改到暫存區中.

  過程2:由暫存區<->本地倉庫

  • 暫存區->本地倉庫:用git commit -m ‘本次commit的描述‘

  過程3: 由本地倉->遠程倉庫

  git push

  說明: 三種git add的區別

  • git add .  提交新文件(new)和被修改(modified)文件
  • git add -u 提交被修改(modified)和被刪除(deleted)文件
  • git add -A 提交所有變化

 二:在本地創建一個Git管理的項目

  • 從線上拉項目到本地

  git clone "項目的地址路徑"克隆一個git管理的項目到本地 

  • 本地項目上傳線上

  git init

  git remote add origin "地址url"

 三.Git上的常用查看操作

  1.查看文本內容 cat <文件名>

  2.查看git的狀態 git status會告訴你在當前的分支上git的情況(有沒有修改,修改的文件是什麽等)

  3.查看更詳細的文件修改

  • git diff 查看所有文件的不同
  • git diff <文件名> 查看指定文件的不同  diff 是difference的縮寫.只能查看還未add(還沒加入到暫存區)的修改

  4.查看所有的commit信息

  git log
  git log --pretty=oneline 更簡潔的查看log信息(只有commit號和描述信息)  

  5.查看所有的git操作過的命令,可以找到刪除了的commit號  

  git reflog 

  git log --graph

四.沖突處理 

<<<<<<<HEAD
1 + 1 = 2                         這個區間內的內容是當前開發者修改的
=======
1 + 2 = 3                        這個區間內的內容是其他開發者修改的
>>>>>>>
需要人工判斷具體是刪除或者保留哪一個修改內容.並且把1,2,3行提示刪除掉.

五.Git分支操作

1.分支基本操作

  • 分支的創建和切換 git branch "分支名" 創建一個分支;git checkout "分支名" 切換到該分支; git checkout -b "分支名" 創建並切換到該分支;
  • 列出所有分支 git branch 列出本地分支 用*標記當前的分支;git branch -a 列出遠程分支
  • 合並分支 git merge "分支名" 合並指定分支到當前分支; git rebase "分支名" 一個分支裏提交的改變移到另一個分支裏重放一遍
  • 刪除分支 git branch -d "分支名" 刪除本地分支; git branch -D "分支名" 強制刪除本地分支; git push origin "分支名" 刪除遠程分支; 如果提示the branch XXX is not fully merged(XXX分支有沒有合並到當前分支的內容)
  • 本地新建了一個分支要推送到線上,需要設置關聯或者追蹤. 第一次push: git push origin 本地分支名:遠程分支名
  • 遠程端生成了一個新的分支,拉取到本地. 先關聯遠程端分支到本地: git branch --set-upstream-to=origin/<線上分支名> <本地分支名> 然後git pull

  

Git詳解