裸版本庫就是不含有工作區的版本庫,而我們平常開發的**庫都是開發版本庫,修改工作區,然後進行提交、推送提交等操作。
可以使用git init --bare命令建立乙個裸版本庫。裸版本庫一般作為伺服器上的版本庫。
**引用空間把遠端分支版本庫中的分支名對映到本地版本庫中的分支名。**其語法為:
[+]source:dest如果有加號則表示不會在傳輸過程中進行正常的快進安全檢查。
操作 源 目標
fetch 抓取的遠端引用 更新的本地引用
push 推動的本地引用 更新的遠端引用
比如git fetch命令會使用refspec:+refs/heads/:refs/remotes/origin/。其定義在.git/config檔案中
3.遠端版本庫支援的協議
git使用url來定位遠端版本庫,支援多種url協議,常見的有http、https、git、ssh、file。
clone命令可以把遠端的**庫轉殖到本地,並在.git/config目錄中記錄遠端版本庫的url。.git/config檔案如下:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = d:/source-code/temp/server
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "develop"]
remote = origin
merge = refs/heads/develop
注意[remote 「origin」] url = d:/source-code/temp/server,其中origin是對url的乙個別名,因為乙個git庫可能對應多個遠端**庫(例如使用git remote add命令新增其他遠端**庫,git協同模型的子樹合併),如果沒有這個別名,每次都填寫這個長長的url會很麻煩,所以這個別名是必須的,而且clone的時候,別名預設為「origin」。
remote命令用於管理遠端版本庫
$git remote add daf_remote http://***x/*.git -------新增daf_remote為別名的url,此時會看到.git/config檔案變更
$git remote rename -----重新命名別名
$git remote remove ------移除某個遠端**庫
$git remote -v show ------移除某個遠端**庫
pull=fetch+merge。當我們執行git pull命令實際上會首先執行fetch抓取命令,然後把當前分支和抓取的sha1合併。
而當我們執行git pull命令的時候,git是如何知道拉取和合併的呢?
當我們執行git pull origin develop(:develop)的時候,同樣和git pull相同,因為具體執行的時候,git fetch會補齊遠端倉庫和完整的refspac
push命令是和fetch命令是乙個相反的命令,其refspac一般為refs/heads/$:refs/heads/$
。表示源為本地refs/heads/bra
nchn
am的引
用,目標
為遠端倉
庫ref
s/he
ads/
的引用,目標為遠端倉庫refs/heads/
branch
nam的
引用,目
標為遠端
倉庫re
fs/h
eads
/的引用。
當我們執行git push的時候,其等價於git push origin refs/heads/bra
nchn
am:r
efs/
head
s/
:refs/heads/
branch
nam:
refs
/hea
ds/。也就是預設情況下只推 送本地分支,而不是所有的分支。
可以使用git push origin refs/heads/:refs/heads/推送本地所有的分支變更。
git push origin ?表示刪除某個分支
git命令列刪除遠端檔案
1.拉取遠端倉庫 git pull origin master 2.刪除要刪除的資料夾或者檔案 gitrm r cached 要刪除的檔案 src main byit 3.提交 git commit m 刪除了 4.推送遠端倉庫 git push u origin master 刪除檔案和跟蹤 gi...
git命令列刪除遠端分支
先檢視遠端分支 git branch 使用下面兩條命令來刪除遠端分支 git branch r d origin branch name git push origin branch name update 解釋一下上面的引數含義 r,remotes list or delete if used w...
git版本管理命令列整理
git版本管理命令列整理 git 本地進行版本管理的一些常用命令 git branch a 列出所有分支名稱 r 檢視遠端分支 name 建立名為name的分支 d name 刪除名為name的分支 git log graph 檢視git樹 oneline不分行檢視git樹 git status 檢...