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
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 維護的三棵 樹 組成。第乙個是...