Git簡明教程

2021-06-20 22:45:11 字數 3462 閱讀 1927

git是拿來控制版本的,版本控制即vcs(version control system)

版本控制最初是linux之父拿來管理複雜的linux核心版本的

本地版本控制:容易與備份混淆

分布式版本控制:每個使用者都有乙個專案的完整拷貝,可以通過fetch pull與伺服器同步,便於協同工作

modified:修改未暫存,與未使用git一樣

staged:快取未提交,下次提交時會進入本地git資料庫

committed:已提交,該檔案已在git資料庫中備份

在專案中使用git後,出現三個目錄:

工作目錄:原來的目錄

暫存目錄:.git目錄中用於暫存的區域,儲存staged檔案

本地倉庫:即.git目錄,committed檔案儲存於該目錄

在ubuntu為代表的debian體系上直接使用如下命令:

sudo apt-get install git-core

1、配置檔案

/etc/gitconfig檔案 通過git config --system配置

~/.gitconfig檔案 通過git config --global配置

2、使用者資訊

git config --global user.name "leo"

git config --global user.email

[email protected]

3、指定編譯器

git config --global core.editor vim

4、差異分析器(處理檔案衝突)

git config --global merge.tool vimdiff

5、檢視配置資訊

git config --list

如何獲取幫助:

git help config

==== 1、在工作目錄中建立git倉庫 ====

git init //出現.git檔案即是git倉庫

==== 2、從遠端git倉庫轉殖專案 ====

git clone

預設儲存於新創件的try檔案中,後面加目錄名指定儲存目錄

git clone

mydir

==== 將工作目錄中的檔案加入快取目錄 ====

git add file_name

git add *.txt //加入所有.txt結尾檔案,包含子目錄中的

git add '*.txt' //只針對當前目錄,不包含子目錄

==== 將快取目錄中的檔案加入本地git倉庫 ====

git commit -m 'initial version' //-m ' ' 加入簡單說明

直接提交:

git commit //會進入指定的文字編輯器,要求增加說明

跳過快取目錄直接提交到git倉庫,前提是之前通過add加入了快取目錄

git commit -a -m '2ed version'

==== 檢視提交歷史 ====

git log

git -p -2 //顯示最近兩次提交歷史,-p表示顯示檔案差異

修改最後一次提交

git commit -m 'initial commit'

git add forgotten_file //修改最後一次提交,增加內容

git commit --amend //進入文字編輯器修改注釋內容

==== 檢查檔案狀態 ====

git status

通過建立.gitignore檔案指定忽略檔案,避免git管理不必要的檔案

#注釋 指定被git忽略的檔案

*.a!lib.a #不忽略lib.a

==== 檢視工作目錄較快取目錄中檔案更新的部分 ====

git diff

檢視快取目錄較git倉庫中檔案更新的部分

git diff --staged 或(--cashed)

git diff head //使用head指標檢視最近一次提交後的變化

從跟蹤目錄移除檔案,被移除的檔案將在工作目錄中,不被git管理

git rm file_name

git rm '*.txt' //移除當前目錄下所有.txt結尾檔案

取消暫存的檔案,add的逆向操作

git reset file_name

取消對檔案的修改,從快取目錄還原到工作目錄

git checkout -- file_name //注意: --與檔名中間有個空格

==== 檢視當前遠端庫 ====

git remote //預設遠端目錄名為origin

git remote -v //顯示對應的遠端位址

==== 新增遠端倉庫,同時指定目錄簡稱 ====

git remote add [shortname] [url]

==== 從遠端庫中抓取資料 ====

git fetch [remote-name] //不會自動merge

git pull origin master //相當與fetch之後再merge

==== 推送資料到遠端倉庫 ====

git push [remote-name] [branch-name]

git push origin master //遠端倉庫名稱預設origin 本地倉庫名稱預設為master

git push -u origin master //-u使git記住當前引數,下次可以直接git push

==== 檢視遠端倉庫資訊 ====

git remote show origin

==== 遠端倉庫從命名與刪除 ====

git remote rename origin new_name

git remote rm origin

==== 檢視本地倉庫與遠端倉庫的區別 ====

git diff [local_branch_name] [remote_branch_name]

git diff master origin/master

分支用於從開發主線分離出來,不影響主線同時繼續工作

==== 檢視分支: ====

git branch //有乙個head指標指向的是當前工作的分支

git branck -v //檢視各分支最後一次提交的注釋資訊

==== 建立分支: ====

git branch new_branck_name

==== 切換分支: ====

git checkout branch_name

建立並切換分支(等同於上面兩條命令):

git checkout -b new_branck_name

==== 合併分支: ====

git merge other_branch_name //將當前分支與另乙個分支合併

==== 移除分支: ====

git branch -d branch_name //使用-d 移除無用的分支

推薦教程code school:

Git簡明教程

mkdir path to your project cd path to your project git init git remote add origin 建立你的第乙個檔案,提交,然後推送到倉庫。git config global user.email xx xx.com git conf...

git簡明教程

ssh keygen t rsa c xx.com 冒號中的內容是郵箱,此操作用來生成rsa金鑰,用來標定你使用的計算機。根據提示資訊找到金鑰id rsa.pub,copy一下,將該金鑰新增到使用者的setting選單下的ssh key那一欄 ssh t git github.com可以檢查金鑰新增...

git簡明教程

建立新倉庫 git init 檢出倉庫 建立乙個 本地倉庫的轉殖版本 git clone path to repository 如果是遠端伺服器上的倉庫 git clone username host path to repository 工作流你的本地倉庫由 git 維護的三棵 樹 組成。第乙個是...