我的项目有许多测试PC,100%的网络外.我们使用USB驱动器也可以从这些PC传输文件.在这些PC的测试期间发生了一些开发.我们传输更新文件的拉链,并在zip文件的名称中编码"版本信息".
我的问题是如何最好地使用Git来管理项目的办公室PC和测试PC之间的sneakernet文件传输(或repos,或什么?).对于笔记本电脑用户而言,这种"用例"通常不会出现在"网外"并且在某个角落咖啡馆中开发,后来又重新上网.
有没有人在这种情况下有经验?
另请参阅git bundle create --all answer以传输完整的repo
有许多git命令,例如git clone --depth 10 <repo>,需要给出修订[ git help revisions] 的数量.
提交和修订之间有什么区别(在git中,而不是说svn)?
或者在尝试计算修订/提交时它是否只显示复数形式,例如,必须通过走向提交及其父母的DAG(有向无环图)或其他一些仔细区分来计算修订?
如果您克隆 git 存储库,我认为出于安全原因不会克隆挂钩。但是如果我通过 ZIP 文件等其他方式获取存储库怎么办?当我在不完全信任的存储库上运行 GIT 命令时,如何确保没有执行任何钩子?
我能想到的是删除 .git/hook 目录中所有文件的可执行标志。但根据文档,钩子通常只存储在这个目录中,因此可能还有其他地方需要首先清理。(顺便问一下如何更改hook目录?)
举个例子,我担心像本次比赛中的文件这样的文件:
http://hackyeaster.hacking-lab.com/hackyeaster/challenge12.html
git bundle从备份克隆后,有没有使用捆绑文件没有链接的地方来创建备份的方法?我想将我的存储库备份到具有所有历史记录的单个文件中,然后稍后将其还原。
目前,我正在使用以下方法创建备份:
$ mkdir here
$ cd here
$ git init
Initialized empty Git repository in /tmp/here/.git/
$ touch stuff
$ git add stuff
$ git commit -m "This is a file"
[master (root-commit) c867bcf] This is a file
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 stuff
$ git bundle create myrepo.bundle --all
Counting objects: 3, done.
Writing objects: 100% (3/3), 212 bytes | 212.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0) …Run Code Online (Sandbox Code Playgroud) 我正在尝试克隆tensorflow / models回购。我通过ssh连接到远程计算机。我尝试了许多解决该问题的建议,但没有一个对我有用。
git clone --recursive https://github.com/tensorflow/models.git
Cloning into 'models'...
remote: Counting objects: 1670, done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 1670 (delta 10), reused 0 (delta 0), pack-reused 1642
Receiving objects: 100% (1670/1670), 49.23 MiB | 8.44 MiB/s, done.
Resolving deltas: 100% (670/670), done.
fatal: fsync error on '/home/OFFICE/utk/projects/syntaxnet/models/.git/objects/pack/tmp_pack_2w67RB': Input/output error
fatal: index-pack failed
Run Code Online (Sandbox Code Playgroud)