背景:git是乙個開源的分布式版本控制系統,當初第一次上手的時候,還覺得它挺難的,後面發現真不錯哎,管理**輕鬆好多。但用了挺久以後查了一查,發現搞出git的居然也是林納斯(linus benedic torvalds,linux之父)。大學期間做的幾個專案中,都用到了git,我這個忘性大的boy,就直接把一些簡單的常用命令,記在了onenote的筆記中(雖然網上很多,但是自己的用著最順心)。要用的時候給翻一翻。
這不,剛想用心經營下部落格,所以將之搬到了部落格上。
你沒在這兒找到想用的?呃,那關我雞毛蒜皮事兒。。。。
呃,扯遠了。聊回正題。還是按照正常套路,先來大致看下git的原理。這裡在網上抓了一張圖:
再來比較下svn和git優缺點,小本本記下。
svn與git優缺點比較(屬面試常問提)
svn與git的區別(總結)
簡單的全域性配置資訊
#設定git的全域性使用者名稱和郵箱
git config --global user.name "username"
#設定git的全域性郵箱
git config --global user.email "email"
#檢視git配置
git config --list
#編輯git配置檔案,這裡按提示開啟時使用預設的vi編輯器
git config -e [--global]
新建**倉庫
#當前目錄新建**倉庫
git init
#指定目錄作為git倉庫
git init [dir]
#轉殖倉庫,repo為遠端倉庫,dir為本地倉庫(dir可省略)
git clone [repo] [dir]
#檢視已存在的遠端分支,-v引數列出詳細資訊
git remote -v
#連線遠端倉庫
git remote add origin [位址]
#刪除遠端倉庫origin
git remote rm origin
git基本快照
#檢視專案的當前狀態,-s以簡短結果輸出
git status -s
使用 git add命令將想要快照的內容寫入快取區
#新增指定目錄到暫存區,包括子目錄
git add [dir]
#新增當前目錄的所有檔案到暫存區
git add .
使用git commit 將快取區內容新增到倉庫中
由於git每次提交都要記錄同戶名和郵箱需要設定全域性使用者名稱和郵箱
#寫入倉庫
git commit -m '描述資訊'
#將git add操作和git commit操作合併,但只能用於提交跟蹤過的檔案,新建檔案不能使用
git commit -am '描述資訊'
#更改未提交的描述資訊
git commit --amend -m "這才是要提交的文字"
#顯示已寫入快取與已修改但尚未寫入快取的改動的區別(不常用)
git diff
#檢視已快取的改動(不常用)
git diff --cached
#取消已快取的內容
git reset head
#從 git 中移除某個檔案,強制刪除選項 -f,用於刪除之前修改過並且已經放到暫存區域的檔案
git rm [file] -f
#把檔案從暫存區域移除,但仍然希望其保留在當前工作目錄中
git rm --cached [file]
#遞迴刪除
git rm –r [資料夾名]
分支管理
這裡當初初學時,菜鳥教程中乙個簡單的分支管理以及合併衝突demo:[分支管理demo](
#建立git分支
git branch (branchname)
#切換分支,-b引數以後,是指新建分支並快速切換過去——[checkout檢出高階](
git checkout -b (branchname)
#合併分支
git merge
#列出所有分支,-r引數列出遠端所有分支,-a列出所有本地分支和遠端分支
git branch
#刪除分支
git branch -d (branchname)
簡單的日誌查詢和標籤
#日誌詳細資訊,--oneline引數是指簡潔的日誌記錄,--reverse是指逆序顯示日誌
git log --oneline --reverse
#查詢指定的使用者提交日誌
git log --author=[username] --oneline
#查詢所有標籤
git tag
#查詢某個標籤
git show v1.0
#給當前commit提交新建標籤,-a引數建立乙個帶註解的標籤,不帶時日誌則不會記錄詳細資訊
git tag -a v1.0 -m "version 1.0"
#給指定commit提交新建標籤
git tag -a v2.0(這是標籤內容,版本資訊) [commit]
#上傳標籤到伺服器
git push origin v1.0
#刪除本地標籤
git tag -d v1.0
#刪除遠端標籤
git push origin --delete v1.0
推送和更新**庫
#推送本地倉庫相應分支到遠端倉庫,-u引數指設定預設主機,以後就可以只用git push推送了
git push -u origin master
#推送所以分支到遠端倉庫
git push [remote] --all
#刪除遠端master分支
git push origin --delete master
#強制推送,覆蓋遠端的master分支(有句話說:「除非乙個人使用,否則push --force就是找死」)
git push origin master --force
#更新本地**庫master分支
git pull origin master
#更新本地時,把兩段不相干的分支進行強行合併
git pull origin master --allow-unrelated-histories
就這些了,畢竟筆者也只是只菜鳥。以後用到了再來補充。
筆者以為,將小本本上的筆記扔到部落格上來,應該會挺簡單的。沒想到調個格式都花了我好幾個小時。
最後,分享個乙個簡單有意思的**:hellogithub
其意義在於:分享 github 上有趣、入門級的開源專案。
對新手入門github的玩家十分友好。
比如我!就是在github上瞎逛。
git常用命令彙總
針對常用的git命令,進行彙總記錄,以便及時查詢 可以定乙個指令碼,檢查語法錯誤的,或是借用第三方工作進行檢查,然後將該指令碼放到專案的 git hook pre commit 位置,也可以放到乙個位置軟鏈到多個專案 git hook pre commit 中,這時,在提交時,會檢查語法規範,提高 ...
git常用命令彙總
git是由linux kernel創立者 linux torvalds 開發的 因為bitkeeper的問題 屬於dvcs 分布式版本控制 github 是乙個開源專案社群,始於2007 08上線 github 裡面的專案可以通過標準的 git 命令進行訪問和操作 pro git v2書本傳送門 而...
git 常用命令彙總
1 獲取git的版本 git version 2 初始化倉庫 git init 初始化乙個本地倉庫 git version 獲取git的版本 git config global user.name yourname git config global user.email youremail 第3 ...