這篇文章主要介紹“如何用Git來(lái)共享文件”,在日常操作中,相信很多人在如何用Git來(lái)共享文件問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何用Git來(lái)共享文件”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
超過(guò)10多年行業(yè)經(jīng)驗(yàn),技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營(yíng)模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:做網(wǎng)站、成都做網(wǎng)站,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,小程序設(shè)計(jì),微信開(kāi)發(fā),重慶APP軟件開(kāi)發(fā),同時(shí)也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營(yíng)銷和我們一樣獲得訂單和生意!
Git 的優(yōu)點(diǎn)之一是它具有固有的分發(fā)能力。它可用來(lái)建立共享。即使你只是與自己網(wǎng)絡(luò)上的其他計(jì)算機(jī)共享資源庫(kù),Git 也會(huì)為從共享位置獲取文件的行為帶來(lái)透明性。
隨著其界面的發(fā)展,Git 變得非常簡(jiǎn)單。雖然因用戶而異,他們坐下來(lái)完成一些工作時(shí)的共同點(diǎn)僅僅是 git pull
或稍微復(fù)雜一點(diǎn)的 git pull && git checkout -b my-branch
。但是,對(duì)于某些人來(lái)說(shuō),將命令輸入到他們的計(jì)算機(jī)中的做法完全是令人困惑或煩惱的。計(jì)算機(jī)旨在使生活變得輕松,它擅長(zhǎng)于重復(fù)性工作,因此有更簡(jiǎn)便的方法可以與 Git 共享文件。
SparkleShare 項(xiàng)目是一個(gè)基于 Git 的跨平臺(tái)的、開(kāi)源的 Dropbox 式的文件共享應(yīng)用程序。它通過(guò)將文件拖放到專門指定的 SparkleShare 目錄中的簡(jiǎn)單操作,自動(dòng)執(zhí)行所有 Git 命令,觸發(fā)添加、提交、推送和拉取過(guò)程。因?yàn)樗? Git,所以你可以獲得基于差異(diff)的快速推送和拉取,并且繼承了 Git 版本控制和后端基礎(chǔ)設(shè)施(如 Git 掛鉤)的所有優(yōu)點(diǎn)。它可以完全自托管,也可以將其與 GitLab、GitHub、Bitbucket 等 Git 托管服務(wù)一起使用。此外,由于它基本上只是一個(gè) Git 的前端,因此你可以在可能沒(méi)有 SparkleShare 客戶端但有 Git 客戶端的設(shè)備上訪問(wèn) SparkleShare 中的文件。
正如你獲得 Git 的所有好處一樣,你也會(huì)受到所有常見(jiàn)的 Git 限制:使用 SparkleShare 存儲(chǔ)數(shù)百?gòu)堈掌?、音?lè)和視頻是不切實(shí)際的,因?yàn)?Git 是為文本而設(shè)計(jì)和優(yōu)化的。Git 當(dāng)然可以存儲(chǔ)二進(jìn)制文件的大文件,但是因?yàn)樗梢愿櫄v史記錄,因此一旦將文件添加到其中,幾乎就不可能完全刪除它。這在某種程度上限制了 SparkleShare 對(duì)某些人的實(shí)用性,但使其非常適合許多工作流程,包括日程安排。
SparkleShare 是跨平臺(tái)的,可從網(wǎng)站獲得適用于 Windows 和 Mac 的安裝程序。對(duì)于 Linux,有一個(gè) Flatpak 安裝包,或者你可以在終端中運(yùn)行以下命令:
$ sudo flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo$ sudo flatpak install flathub org.sparkleshare.SparkleShare
SparkleShare 并不是軟件即服務(wù)(SaaS)。你在計(jì)算機(jī)上運(yùn)行 SparkleShare 與 Git 存儲(chǔ)庫(kù)進(jìn)行通信,而 SparkleShare 并不存儲(chǔ)你的數(shù)據(jù)。如果你還沒(méi)有與文件夾同步的 Git 存儲(chǔ)庫(kù),則必須在啟動(dòng) SparkleShare 之前創(chuàng)建一個(gè)文件夾。你有三個(gè)選擇:托管的 Git、自托管 Git 或自托管 SparkleShare。
SparkleShare 可以使用你能訪問(wèn)的任何 Git 存儲(chǔ)庫(kù)進(jìn)行存儲(chǔ),因此,如果你擁有 GitLab 或任何其他托管服務(wù)的帳戶(或創(chuàng)建一個(gè)),則它可以成為 SparkleShare 的后端。例如,開(kāi)源 Notabug.org 服務(wù)是一個(gè)類似于 GitHub 和 GitLab 的 Git 托管服務(wù),但其獨(dú)特性足以證明 SparkleShare 的靈活性。根據(jù)用戶界面的不同,不同的托管服務(wù)創(chuàng)建新存儲(chǔ)庫(kù)的方法也有所不同,但是所有主要存儲(chǔ)庫(kù)都遵循相同的通用模型。
首先,在托管服務(wù)中找到創(chuàng)建新項(xiàng)目或存儲(chǔ)庫(kù)的按鈕,單擊它以開(kāi)始。然后逐步完成存儲(chǔ)庫(kù)的創(chuàng)建過(guò)程,為存儲(chǔ)庫(kù)提供名稱、隱私級(jí)別(存儲(chǔ)庫(kù)通常默認(rèn)為公共),以及是否使用 README
文件初始化存儲(chǔ)庫(kù)。無(wú)論你是否需要個(gè) README
文件,請(qǐng)初始化建立一個(gè)。使用一個(gè)文件來(lái)創(chuàng)建存儲(chǔ)庫(kù)不是絕對(duì)必要的,但是它會(huì)強(qiáng)制 Git 主機(jī)實(shí)例化存儲(chǔ)庫(kù)中的 master
分支,這有助于確保前端應(yīng)用程序(例如 SparkleShare)具有要提交并推送的分支。即使文件是幾乎空的 README
文件,也可以用來(lái)查看該文件以確認(rèn)你已連接成功。
Creating a Git repository
創(chuàng)建存儲(chǔ)庫(kù)后,獲取其用于 SSH 克隆的 URL。就像從 Git 項(xiàng)目獲得其 URL 一樣,你也可以獲取此 URL:導(dǎo)航至存儲(chǔ)庫(kù)頁(yè)面并查找 “Clone” 按鈕或字段。
GitHub 的克隆 URL。
GitLab 的克隆 URL。
這是 SparkleShare 用于獲取數(shù)據(jù)的地址,因此請(qǐng)記下它。你的 Git 存儲(chǔ)庫(kù)現(xiàn)已配置好。
你可以使用 SparkleShare 訪問(wèn)你有權(quán)訪問(wèn)的任何計(jì)算機(jī)上的 Git 存儲(chǔ)庫(kù)。除了一個(gè) Git 裸存儲(chǔ)庫(kù)外,無(wú)需任何特殊設(shè)置。但是,如果你想將對(duì) Git 存儲(chǔ)庫(kù)的訪問(wèn)權(quán)授予其他任何人,則應(yīng)運(yùn)行 Gitolite 之類的 Git 管理器或 SparkleShare 自己的 Dazzle 服務(wù)器來(lái)幫助你管理 SSH 密鑰和帳戶。至少,創(chuàng)建一個(gè)特定于 Git 的用戶,以便有權(quán)訪問(wèn)你的 Git 存儲(chǔ)庫(kù)的用戶不會(huì)自動(dòng)獲得對(duì)服務(wù)器其余部分的訪問(wèn)權(quán)限。
以 Git 用戶身份登錄服務(wù)器(如果你非常擅長(zhǎng)管理用戶和組權(quán)限,則可以以自己的用戶登錄)并創(chuàng)建存儲(chǔ)庫(kù):
$ mkdir ~/sparkly.git$ cd ~/sparkly.git$ git init --bare .
你的 Git 存儲(chǔ)庫(kù)現(xiàn)已配置好。
SparkleShare 的開(kāi)發(fā)人員提供了一個(gè)名為 Dazzle 的 Git 管理系統(tǒng),以幫助你自托管 Git 存儲(chǔ)庫(kù)。
在你的服務(wù)器上,將 Dazzle 應(yīng)用程序下載到你的路徑中的某個(gè)位置:
$ curl https://raw.githubusercontent.com/hbons/Dazzle/master/dazzle.sh --output ~/bin/dazzle$ chmod +x ~/bin/dazzle
Dazzle 設(shè)置了一個(gè)特定于 Git 和 SparkleShare 的用戶,并且還基于 SparkleShare 應(yīng)用程序生成的密鑰實(shí)現(xiàn)了訪問(wèn)權(quán)限?,F(xiàn)在,只需設(shè)置一個(gè)項(xiàng)目:
$ dazzle create sparkly
你的服務(wù)器現(xiàn)在已經(jīng)配置好,可以用作 SparkleShare 托管了。
首次啟動(dòng) SparkleShare 時(shí),系統(tǒng)會(huì)提示你配置 SparkleShare 用于存儲(chǔ)的服務(wù)器。這個(gè)過(guò)程可能看起來(lái)像一個(gè)首次運(yùn)行的安裝向?qū)?,但?shí)際上是在 SparkleShare 中設(shè)置新共享位置的通常過(guò)程。與許多共享驅(qū)動(dòng)器應(yīng)用程序不同,使用 SparkleShare 可以一次配置多個(gè)位置。你配置的第一個(gè)共享位置并不比你以后可以配置的任何共享位置更重要,并且你也不用注冊(cè) SparkleShare 或任何其他服務(wù)。你只是將 SparkleShare 指向 Git 存儲(chǔ)庫(kù),以便它知道如何使第一個(gè) SparkleShare 文件夾保持同步。
在第一個(gè)屏幕上,給出一個(gè)身份信息,SparkleShare 將在代表你進(jìn)行的 Git 提交記錄中使用這些信息。你可以使用任何內(nèi)容,甚至可以使用不代表任何意義的偽造信息。它僅用于提交消息,如果你對(duì)審查 Git 后端進(jìn)程沒(méi)有興趣,你可能甚至看不到它們。
下一個(gè)屏幕提示你選擇主機(jī)類型。如果你使用的是 GitLab、GitHub、Planio 或 Bitbucket,則可以選擇一個(gè)適當(dāng)?shù)?。否則,請(qǐng)選擇“自己的服務(wù)器”。
Choosing a Sparkleshare host
在此屏幕底部,你必須輸入 SSH 的克隆 URL。如果你是自托管的 Git,則地址類似于 <ssh://username@example.com>
,而遠(yuǎn)程路徑是為此目的而創(chuàng)建的 Git 存儲(chǔ)庫(kù)的絕對(duì)路徑。
根據(jù)上面的自托管示例,我虛構(gòu)的服務(wù)器的地址為 ssh://git@example.com:22122
(:22122
表示一個(gè)非標(biāo)準(zhǔn)的 SSH 端口),遠(yuǎn)程路徑為 /home/git/sparkly.git
。
如果我改用 Notabug.org 帳戶,則上例中的地址為 ssh://git@notabug.org
,路徑為 seth/sparkly.git
。
SparkleShare 首次嘗試連接到主機(jī)時(shí)會(huì)失敗,因?yàn)槟闵形磳?SparkleShare 客戶端 ID(特定于 SparkleShare 應(yīng)用程序的 SSH 密鑰)復(fù)制到 Git 主機(jī)。這是預(yù)料之中的,所以不要取消該過(guò)程。將 SparkleShare 設(shè)置窗口保持打開(kāi)狀態(tài),并從系統(tǒng)任務(wù)欄中的 SparkleShare 圖標(biāo)處獲取客戶端 ID。然后將客戶端 ID 復(fù)制到剪貼板,以便可以將其添加到 Git 主機(jī)。
Getting the client ID from Sparkleshare
除了較小的 UI 差異外,在任何托管服務(wù)上添加 SSH 密鑰(所有客戶端 ID 都是這樣)的過(guò)程基本上是相同的。在你的 Git 主機(jī)的 Web 儀表板中,導(dǎo)航到你的用戶設(shè)置,然后找到 “SSH 密鑰”類別。單擊“添加新密鑰”按鈕(或類似按鈕),然后粘貼你的 SparkleShare 客戶端 ID 的內(nèi)容。
Adding an SSH key
保存密鑰。如果你希望其他人(例如協(xié)作者或家庭成員)能夠訪問(wèn)同一存儲(chǔ)庫(kù),則他們必須向你提供其 SparkleShare 客戶端 ID,以便你可以將其添加到帳戶中。
SparkleShare 客戶端 ID 只是一個(gè) SSH 密鑰,因此將其復(fù)制并粘貼到 Git 用戶的 ~/.ssh/authorized_keys
文件中。
如果你使用 Dazzle 管理 SparkleShare 項(xiàng)目,請(qǐng)使用以下命令添加客戶端 ID:
$ dazzle link
當(dāng) Dazzle 提示你輸入該 ID 時(shí),請(qǐng)粘貼在 SparkleShare 菜單中找到的客戶端 ID。
將客戶端 ID 添加到 Git 主機(jī)后,在 SparkleShare 窗口中單擊“重試”按鈕以完成設(shè)置??寺〈鎯?chǔ)庫(kù)完成后,你可以關(guān)閉 SparkleShare 設(shè)置窗口,并在你的家目錄中找到一個(gè)新的 SparkleShare
文件夾。如果你設(shè)置了帶有托管服務(wù)的 Git 存儲(chǔ)庫(kù),并選擇包括 README
文件或許可證文件,則可以在 SparkleShare 目錄中看到它們。
Sparkleshare file manager
此外,有一些隱藏目錄,你可以通過(guò)在文件管理器中顯示隱藏目錄來(lái)查看。
Showing hidden files in GNOME
使用 SparkleShare 的方式與使用計(jì)算機(jī)上任何目錄的方式相同:將文件放入其中。每當(dāng)將文件或目錄放入 SparkleShare 文件夾時(shí),它都會(huì)在后臺(tái)復(fù)制到你的 Git 存儲(chǔ)庫(kù)。
由于 Git 從設(shè)計(jì)上就是要記住一切,因此你可能希望從記錄中排除特定的文件類型。排除一些文件是有原因的。通過(guò)定義擺脫 SparkleShare 管理的文件,可以避免意外復(fù)制大文件。你還可以為自己設(shè)計(jì)一種方案,使你可以將存儲(chǔ)在一個(gè)目錄中的邏輯上屬于同一個(gè)文件(例如,MIDI 文件及其 .flac 導(dǎo)出文件),但是可以自己手動(dòng)備份大文件,而同時(shí)讓 SparkleShare 備份基于文本的文件。
如果在系統(tǒng)的文件管理器中看不到隱藏的文件,請(qǐng)顯示它們。導(dǎo)航到你的 SparkleShare 文件夾,然后到代表你的存儲(chǔ)庫(kù)的目錄,找到一個(gè)名為 .gitignore
的文件,然后在文本編輯器中將其打開(kāi)。你可以在 .gitignore
中輸入文件擴(kuò)展名或文件名(每行一個(gè)),任何與你列出的文件匹配的文件都會(huì)被忽略(如文件名所示)。
Thumbs.db$RECYCLE.BIN/.DS_Store._*.fseventsd.Spotlight-V100.Trashes.directory.Trash-**.wav*.ogg*.flac*.mp3*.m4a*.opus*.jpg*.png*.mp4*.mov*.mkv*.avi*.pdf*.djvu*.epub*.od{s,t}*.cbz
你知道最經(jīng)常遇到哪些文件類型,因此請(qǐng)集中精力處理最有可能潛入你的 SparkleShare 目錄的文件。如果你想稍微矯枉過(guò)正一些,可以在 Notabug.org 以及整個(gè)網(wǎng)上找到 .gitignore
文件的好集合。
通過(guò)將這些條目保存在 .gitignore
文件中,你可以將不需要發(fā)送到 Git 主機(jī)的大文件放在 SparkleShare 目錄中,SparkleShare 將完全忽略它們。當(dāng)然,這意味著你需要確保它們可以備份或通過(guò)其他方式分發(fā)給你的 SparkleShare 協(xié)作者。
自動(dòng)化 是我們與計(jì)算機(jī)達(dá)成的默契之一:計(jì)算機(jī)執(zhí)行重復(fù)的、無(wú)聊的工作,而我們?nèi)祟愐床簧瞄L(zhǎng)做這些,要么不擅長(zhǎng)記憶這些。SparkleShare 是一種很好的、簡(jiǎn)單的自動(dòng)執(zhí)行例行數(shù)據(jù)分發(fā)的方法。但不管怎么說(shuō),這并不適合每個(gè) Git 存儲(chǔ)庫(kù)。它沒(méi)有用于高級(jí) Git 功能的接口,它沒(méi)有暫停按鈕或手動(dòng)管理的操作。沒(méi)關(guān)系,因?yàn)樗氖褂梅秶怯幸庀拗频摹parkleShare 可以完成它計(jì)劃要做的事情,它做得很好,而且它是你無(wú)需關(guān)心的一個(gè) Git 存儲(chǔ)庫(kù)。
如果你想使用這種穩(wěn)定的、看不見(jiàn)的自動(dòng)化,請(qǐng)嘗試一下 SparkleShare。
到此,關(guān)于“如何用Git來(lái)共享文件”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
網(wǎng)站標(biāo)題:如何用Git來(lái)共享文件
地址分享:http://jinyejixie.com/article12/iihhdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、服務(wù)器托管、ChatGPT、定制開(kāi)發(fā)、自適應(yīng)網(wǎng)站、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)