Git使用總結


一、Git的特性

Speed 速度(git是用c語言寫的。一般都是提交到本地)
Simple design
Strong support for non-linear development (thousands of parallel branches)(強有力的支持非線性開發) 
Fully distributed(分布式)
Able to handle large projects like the Linux kernel efficiently (speed and data size)

二、Git的架構原理

1.快照和索引而不是增量,svn是增量

2.幾乎所有的操作都是本地的

3.Git文件的三個狀態


Committed :文件安全的存儲在你的本地. 
Modified :你修改了文件,但還未提交到你的倉庫. 
Staged : 已經標記了一個已修改文件到下一個版本的快照


相應流程如下:
(1),工作區修改文件
(2),adding 快照到stage區域
(3),commit 提交到倉庫

4.文件狀態生命周期

三、安裝Git及使用前的准備

1.安裝,直接上官網下載安裝

2.安裝完成之后查看系統環境變量,設置身份

(1),了解系統環境變量
/etc/gitconfig
.gitconfig 


(2),設置身份
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com


(3),設置編輯器(可選)
$ git config --global core.editor emacs


(4),設置你的比較工具(可選)
$ git config --global merge.tool vimdiff


(5),檢查你的配置(可選)
$ git config --list


(6),幫助
$ git help <verb>
$ git <verb> --help

3.開發前需理解的四個區域

blessed (remote) repository 遠程倉庫
local repository 本地倉庫
stage area 臨時區
work area 工作區

四、Git相關命令

基本命令

1.初始化 

(1)init 進入工作區間文件夾,git init

(2)clone 從遠程服務器調用git clone git://github.com/wsj/test.git

2.由工作區workspace加入到臨時區staged,add命令

git add *.java
git add wsj.txt

3.由臨時區staged提交到本地倉庫local repository

git commit  -m "log"

4.查看提交狀態

git status

5.忽略文件或文件夾

新建.gitignore文件,寫入要忽略的文件名即可

6.查看三個區域文件的區別

$git diff --staged : workspace VS staged  .
$git diff --cached :staged  VS local repo

7.回滾 reset

git reset 三種模式
git reset --mixed 保留工作區源碼,臨時區和本地倉庫回滾
git reset --soft  保留工作區和臨時區源碼,本地倉庫回滾
git reset --hard 工作區,臨時區,本地倉庫都回滾


git reset --hard HEAD^ 回滾所有內容到上一個版本,后邊可加上文件名
git reset --hard HEAD~3回滾到上3個版本
git reset --hard  origin/master 回滾到和遠程倉庫一致

8.刪除移動 rm mv

刪除但未提交到本地倉庫,這時如果想找回文件,使用git checkout filename

共享及更新項目

1.從遠程倉庫中更新 fetch pull

git fetch origin 相當於是從遠程獲取最新版本到本地,不會自動merge
git pull origin 相當於是從遠程獲取最新版本並merge到本地

2.提交到遠程倉庫

git push origin master

3.遠程倉庫 remote

列出遠程倉庫
git remote
git remote -v 顯示遠程地址


//添加遠程倉庫
git remote add pb git://github.com/sundyhome/ticgit.git
git remote rename pb paul
git remote rm paul
git remote show origin


觀察比較 log diff

查找tag對應的commit id
 git log --oneline --decorate


分支管理及合並

1.分支branch

git branch branchname創建分支

查看
git branch 列出分支
git show-branch 列出分支,並列出差異
git diff branch1 branch2
git whatchanged

2.切換分支checkout

3.分支合並merge

git merge "merge branch1 to master" HEAD branch1


另一種做法
git checkout master
git pull . branch1


4.版本tag

git tag -a ver1.0 -m "my version 1.0"


//show ver1.0 命令查看相應標簽的版本信息,並連同顯示打標簽時的提交對象。
git show ver1.0


//switch ver1.0
git checkout ver1.0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM