在本地搭建 SVN倉庫 和 git 倉庫 (倉庫僅限在本地使用)
作為一名程式猿,可能大家都遇到過這種需求:
- 自己在業餘時,出於某些目的(比如,學習、私活 ;) 等)寫了一些程式碼,想進行版本控制,以備將來不時之需。
- 自己的一些資料,可能需要時常更新,但又想保留歷史版本(比如我自己,就有一份專門記錄所有常用密碼的txt檔案)
對於這種需求,我們自然而然的會想到一些 VCS (Version Control System)來實現。
就我自己的實踐而言,之前在使用 SVN 時,這點很好實現。大體步驟有以下幾步(以 win 系統為例說明):
下載 TortoiseSVN.exe (我的是 1.9.3 版本,如下圖),並進行安裝
新建一個資料夾,如 test (假設 全路徑為: E:\test), 作為倉庫
在 test 資料夾中右鍵,選擇 Create repository here 選單,如下圖
在其他想匯出這個倉庫的地方,新建一個資料夾 123 (假設全路徑為 E:\123)。在 123 資料夾中右鍵,選擇 SVN Checkout 選單,如下圖
在彈出的對話方塊中,填入以下內容
然後,就可以在 123 這個資料夾中,新建&修改&刪除 檔案,並提交至 svn 進行版本控制了啊。下圖為新建檔案的示例。
以上就是 svn 的使用方式。
下面,說一下,目前使用很廣泛的 git 如何實現這一需求(以 CentOS 7 為例進行說明)。
確認一下 git 的版本
> git --version
git version 1.8.3.1
建立倉庫地址(假設全路徑為 /tmp/git_repo)
> mkdir /tmp/git_repo
初始化倉庫
> cd /tmp/git_repo
> git init --bare
初始化空的 Git 版本庫於 /tmp/git_repo
在想要匯出倉庫內容的地方,新建一個資料夾(假設全路徑為 /tmp/123)
> mkdir /tmp/123
匯出倉庫
> cd /tmp/123
> git clone /tmp/git_repo/ ./
正克隆到 'git_repo'...
warning: 您似乎克隆了一個空版本庫。
完成。
現在就可以往 git 倉庫裡 新建&修改&刪除 檔案了。下面以 新建檔案進行說明。
> touch readme.md
> git status
# 位於分支 master
#
# 初始提交
#
# 未跟蹤的檔案:
# (使用 "git add <file>..." 以包含要提交的內容)
#
# readme.md
提交為空,但是存在尚未跟蹤的檔案(使用 "git add" 建立跟蹤)
> git add .
> git commit -m "add readme.md"
[master(根提交) ad3a9d5] add readme.md
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 readme.md
> git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 210 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To /tmp/git_repo/
* [new branch] master -> master
這個時候,我們切回到 /tmp/git_repo 看下 log
PS: 其實在 /tmp/123 中看 log 也是一樣的
> cd /tmp/git_repo
> git log
commit ad3a9d5d77682dbfb846c605d609c9b5b07b9ab8
Author: xxxxxxx <yyyyyyyy@123.com>
Date: Tue Feb 14 17:08:48 2017 +0800
add readme.md
以上就是使用 git 來實現這一需求的過程。
最後,說一下,在使用 git 來實現的時候,有一個關鍵點,需要注意一下。那就是,當我在在初始 git倉庫 時,使用的命令:
git init --bare
當中的 –bare 這個引數千萬不能少。否則,當你在 123 中往 git_repo中提交的時候,你會得到以下的錯誤提示:
> git push origin master
Counting objects: 29, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (28/28), 4.63 KiB | 0 bytes/s, done.
Total 28 (delta 3), reused 0 (delta 0)
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To /tmp/git_repo/
! [remote rejected] master -> master (branch is currently checked out)
error: 無法推送一些引用到 '/tmp/git_repo/'
相關文章
- Git 本地倉庫和裸倉庫Git
- git本地倉庫關聯遠端倉庫Git
- git 修改本地倉庫的遠端倉庫地址Git
- Git本地倉庫基本操作Git
- git 刪除本地倉庫Git
- 本地倉庫推送到遠端倉庫的git操作Git
- docker使用容器搭建本地私有倉庫Docker
- 使用Nexus搭建Maven本地倉庫Maven
- 使用nexus搭建npm本地私人倉庫NPM
- git初始化--本地建立git倉庫Git
- git操作之四:git branch(本地倉庫)Git
- git本地倉庫與GitHub的同步Github
- git 本地push到遠端倉庫Git
- Docker基礎-搭建本地私有倉庫Docker
- git 入門教程之本地倉庫Git
- maven 將本地jar打入本地倉庫MavenJAR
- maven 建立本地倉庫Maven
- 使用 SVN 搭建 Composer 私有倉庫
- 建立你自己的本地倉庫(Maven倉庫管理-Nexus)Maven
- 在centos7搭建git程式碼倉庫CentOSGit
- git學習筆記(本地倉庫與github)筆記Github
- git倉庫修改遠端倉庫Git
- Linux(centos)搭建SVN倉庫LinuxCentOS
- 經驗:使用Git進行本地和線上倉庫的互傳Git
- maven本地倉庫安裝jarMavenJAR
- Firewalld共享上網及本地yum倉庫搭建
- docker搭建私人git倉庫DockerGit
- Git 倉庫Git
- MAVEN新增本地倉庫和注意事項!Maven
- rhel 7.6使用映象做本地yum倉庫
- git倉庫之gitlab搭建使用Gitlab
- 在CentOS上搭建git倉庫伺服器以及mac端進行克隆和提交到遠端git倉庫CentOSGit伺服器Mac
- 在本地用命令列建立一個git倉庫,並推送到遠端命令列Git
- Docker 從入門到精通(二) 搭建本地倉庫Docker
- java 批量上傳mvn本地倉庫Java
- 新增jar包到本地Maven倉庫JARMaven
- Maven-修改maven本地倉庫地址Maven
- docker push到本地倉庫失敗Docker