如果出于安全原因,源代码只能存储在我的家用计算机和办公室计算机上,哪种源代码控制最好,如果传输代码的唯一方法是USB密钥?
SVN还是GIT?
注意:两台计算机之间没有网络连接.
Nea*_*all 10
我推荐git.
无论哪种方式,您都需要USB密钥上的规范存储库.在git中你可以这样做:
在USB密钥上做一个"裸"回购:
$ mkdir /path/to/usbkey/myapp.git
$ cd /path/to/usbkey/myapp.git/
$ git init --bare
Initialized empty Git repository in /path/to/usbkey/myapp.git/
Run Code Online (Sandbox Code Playgroud)
裸存储库目录通常命名为"something.git" - 您可以随意命名它们,但".git"约定被广泛使用.
现在你可以克隆回购:
$ cd /my/source/dir/
$ git clone /path/to/usbkey/myapp.git
Initialized empty Git repository in /my/source/dir/myapp/.git/
warning: You appear to have cloned an empty repository.
Run Code Online (Sandbox Code Playgroud)
它会警告你回购是空的.我们在其中加入一些东西:
$ cd myapp
$ echo "some stuff." > README
$ git add README
$ git commit -m 'added a README'
[master (root-commit) 155b8ea] added a README
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 README
Run Code Online (Sandbox Code Playgroud)
然后将其推送到USB密钥:
$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 231 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To /path/to/usbkey/myapp.git
* [new branch] master -> master
Run Code Online (Sandbox Code Playgroud)
当您到达另一台计算机时,只需再次从USB密钥克隆存储库.您必须确保记得推送您的更改,但是您知道您将始终拥有备份,因为每当您同步时,您将拥有三份完整的回购副本.
使用git执行此操作的另一种方法是只有一个repo - USB密钥上的一个repo.您永远不必记得推送它,但除非您使用其他显式备份系统,否则您的代码将只在密钥上.那会很糟糕.
如果您在USB密钥上使用SVN,您仍然需要记住提交并以相同的方式提取您的更改有一个简单的git仓库,但你不会得到免费的自动备份,这样做使用git给你.你也会错过git的所有其他细节,但这是另一个讨论.看看为什么Git比X好.
归档时间: |
|
查看次数: |
803 次 |
最近记录: |