遠端倉庫相關指令
檢出倉庫:$ git clone git://github.com/jquery/jquery.git
查看遠端倉庫:$ git remote -v
新增遠端倉庫:$ git remote add [name] [url]
刪除遠端倉庫:$ git remote rm [name]
修改遠端倉庫:$ git remote set- url --push [name] [newUrl]
拉取遠端倉庫:$ git pull [remoteName] [localBranchName]
推送遠端倉庫:$ git push [remoteName] [localBranchName]
*如果想把本地的某個分支test提交到遠端倉庫,並作為遠端倉庫的master分支,或者作為另外一個名叫test的分支,如下:
$git push origin test:master // 提交本地test分支作為遠端的master分支
$git push origin test:test # //# 提交本地test分支作為遠端的test分支作為遠端的test分支上。
初始化本機git倉庫(建立新倉庫)
git init設定使用者名稱
git config --global user.email "xxx@xxx.com"設定郵件
git config --global color.ui true ## git config --global color.diff autogit status等指令自動著色
git config --global color.branch autogit config --global color.interactive auto
#clone遠端倉庫
git clone git+ssh://git@192.168.53.168/VT.git
分支(branch)操作相關指令查看本機分支: $ git branch
查看遠端分支:$ git branch -r
建立本機分支:$ git branch [name] ----注意新分支建立後不會自動切換為目前分支
切換分支:$ git checkout [name]
建立新分支並立即切換到新分支:$ git checkout -b [name]
刪除分支:$ git branch -d [name] ---- -d選項只能刪除已經參與了合併的分支,對於未有合併的分支是無法刪除的。如果想要強制刪除一個分支,可以使用-D選項
合併分支:$ git merge [name] ----將名稱為[name]的分支與目前分支合併
創建遠端分支(本地分支push到遠端):$ git push origin [name]
刪除遠端分支:$ git push origin :heads/[name] 或 $ gitpush origin :[name]
#
*建立空的分支:(執行指令之前記得先提交你目前分支的修改,否則會被強制刪乾淨沒得後悔)
$git symbolic-ref HEAD refs/ heads/[name]
$rm .git/index
$git clean -fdx
查看目前版本狀態(是否已修改)
git status
將xyz檔案加入index
#git add xyz
增加目前子目錄下所有更改過的檔案至index
git add .
提交
git commit -m 'xxx'
合併上一次提交(用於重複修改)
#git commit --amend -m 'xxx'
##git commit -am 'xxx'#將add和commit合為一步驟
刪除index中的檔案git rm xxx
遞迴刪除#git rm -r *
顯示提交日誌git log
顯示1行日誌-n為n行git log -1 #git log -5
#顯示提交日誌及相關變動檔案git log --stat 1 c 片 c
#顯示某個提交的詳細內容
git show dfb02e6e4f2f7b573337763e5c0013802e392818#可以只用上幾位#commitid的前幾位
顯示HEAD提交日誌
##顯示HEAD的父(上一個版本)的提交日誌^^為上兩個版本^5為上5個版本
#git show HEAD^
顯示已存在的tag
git tag
增加v2.0的tag
git tag -a v2.0 - m 'xxx'
顯示v2.0的日誌及詳細內容
git show v2.0
顯示v2.0的日誌
git log v2.0
#顯示所有未新增至index的變更
git diff
顯示所有已新增index但尚未commit的變更
#git diff --cached
比較與上一個版本的差異
git diff HEAD^
比較與HEAD版本lib目錄的差異
git diff HEAD -- ./lib
比較遠端分支master上有本機分支master上沒有的
git diff origin/master..master
只顯示差異的文件,不顯示具體內容
git diff origin/master..master --stat
增加遠程定義(用於push/pull/fetch)
git remote add origin git+ssh://git@192.168.53.168/VT.git
顯示本地分支
git branch
顯示包含提交50089的分支
git branch --contains 50089
顯示所有分支
git branch -a
#顯示所有原始分支
git branch -r
顯示所有已合併到目前分支的分支
#git branch --merged
顯示所有未合併到目前分支的分支
git branch --no-merged
本地分支改名
##git branch -m master master_copy
從目前分支建立新分支master_copy並檢出
git checkout -b master_copy
上面的完整版
git checkout -b master master_copy
檢出已存在的features/performance分支
##git checkout features/performance
git checkout --track hotfixes/BJVEP933
git checkout v2.0
git checkout -b devel origin/develop
##git checkout -- README
合併遠端master分支至目前分支
git merge origin/master
合併提交ff44785404a8e的修改
#git cherry-pick ff44785404a8e
#將目前分支push到遠端master分支
#git push origin master
刪除遠端倉庫的hotfixes/BJVEP933分支
git push origin :hotfixes/BJVEP933
##把所有tag推送到遠端倉庫
git push --tags
取得所有遠端分支(不更新本地分支,另需merge)
git fetch
取得所有原始分支並清除伺服器上已刪除的分支
git fetch --prune
取得遠端分支master並merge到目前分支
git pull origin master
重新命名檔案README為README2
git mv README README2
將目前版本重設為HEAD(通常用於merge失敗回退)
git branch -d hotfixes/BJVEP933git reset --hard HEAD
#)中修改分支上修改至其他分支上已修改到其他分支已刪除分支到其他分支已修改到其他分支已修改到其他分支已修改到其他分支已被刪除到其他分支已修改到其他分支已修改到其他分支已修改到其他分支已修改到其他分支已修改到其他分支已修改到其他分支都已修改到其他分支已修改到其他分支已修改到其他分支已修改到其他分支已修改到其他分支都已修改到其他分支已修改到其他分支已修改到其他分支已修改到其他分支都已修改到其他分支已修改到其他分支已修改到其他分支都已修改到其他分支已修改到其他分支都已修改到其他分支都已修改到其他分支都已修改到其他分支。
git rebase
強制刪除分支hotfixes/BJVEP933##git 列出git index包含的檔案#git branch -D hotfixes/BJVEP933
##git ls-files
圖示目前分支歷史
##git show-branch
圖所示所有分支歷史
git show-branch --all
git log --pretty=format:'%h %s' --graph
#.
git show HEAD~3
git show -s --pretty=raw 2be7fcb476
暫存目前修改,將所有至為HEAD狀態
git stash
檢視所有暫存
git stash list
參考第一次暫存
#git stash show -p stash@{0}
應用第一次暫存
git stash apply stash@{0}
檔案中搜尋文字「delete from」
git grep "delete from"中 grep -e '#define' --and -#git_DIR
git grep -e"#define' --and -#git_DIR
以上是Git常用指令總匯的詳細內容。更多資訊請關注PHP中文網其他相關文章!