**
1,概念
git 是分布式版本控制系統,在本身git的設計中沒有所謂的**庫。當然在實際開發中我們一般會設定乙個**庫以方便管理,比如github上的庫作為**庫。但是這不是git強制的,是best practice,是我們為了方便管理在概念上設定的。這個**庫約定俗成叫做:origin。
git中只有本地庫和遠端庫(remote repository)。git一般是**級提交:
1, 我們先提交到暫存區(stage),通git add .|filename
2, 再提交到本地庫(這也是git比svn好的地方,適合頻繁提交),通過git commit –m 「you comments here」
3, 最後當我們覺得需要將這些**分享的時候我們在提交到遠端庫(remote),通過git remote add [remote name] git: 新增遠端庫,通過git push [remotename] master將本地庫的更新推送到遠端庫。
git的metadata比較集中,在庫所在的目錄有乙個.git目錄,所有的metadata都在這個目錄下。
2,git的配置
git有三個配置檔案,分別是repo/.git/config,$home/.gitconfig,/etc/gitconfig。
*repo/.git/config 庫級別的配置檔案,只對當前庫有效,優先順序最高(git config –local)
*$home/.gitconfig 使用者級別的配置檔案,對當前使用者有效,優先順序次之(git config –global)
*/etc/gitconfig 系統全域性配置檔案,對整個系統有效,優先順序最低(git config –system)
git config --list #檢視當前有效配置
git config --global color.ui true #設定color.ui為true
git支援自動完成,也就是說你輸入git conf然後按tab鍵,系統會自動擴充套件為git config。對於選項這依然有效,比如git config –global –color.[tab]你會看到許多可選項。
3,檢視命令
1,檢視git當前庫的狀態
git status [-s] # -s是簡短的輸出,左列是暫存區的狀態,右邊是工作區的狀態
2,顯示當前連線的remote repo
git remote -v
3,顯示branch,在git中branch就是乙個working context(工作上下文),你可以很隨意的新建乙個branch來建立乙個工作上下文。
git branch [-v]
4,顯示檔案的每一行都是誰最後修改的
git blame a-file.c
5,以簡潔的方式顯示branch的graph
git log --graph --pretty=oneline [-5] # -5顯示最近5筆log。
6,顯示最近兩次commit的詳細資訊,包括檔案改動
git log –p –2 #-p會列印出改動的diff結果
git show #想看特定的commit
3,本地庫的操作
1,建立版本庫
git init reponame #建立本地庫
git clone [email protected]:jatsz/snippets.git #以遠端clone的方式建立版本庫
2,新增檔案到暫存庫(stage)
git add file #將file加到版本庫中,其實是stage中。
git add –u #將所有tracked files的更新新增到stage
git add . #注意這個點號,這是將所有改動新增到stage
3,將暫存庫提交(commit)到本地庫
git commit –m 「you comments」 #將stage中的改動提交到本地庫
常用命令 Git 常用命令大全
安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...
git 常用命令
檢視是否存在檔案需要上傳 git status git add git commit m 建立遠端倉庫 git remote add origin 116.255.146.153 ruby cd work daily project.git 更新git fetch 116.255.146.153 r...
git常用命令
詳細 1,git log p 命令來顯示每一次提交與其父節點提交內容之間快照的差異。2,為了檢視載入 staged 而並未提交 not committed 的內容差異,可以使用 git diff stage 命令 在git 1.6之前的版本中,使用 cached 適應情形 在執行git commit...