在这个(Best way to handle offline and online development with Git)问题之后,我决定尝试使用pendrive作为遥控器。但我可能遗漏了一些东西,因为我无法提交更改。
我在pendrive的一个目录中有一个名为“arvores”的存储库,我是从github.com克隆来的。
现在,我有了另一个本地目录,我克隆了pendrive的目录。
$ git clone f:/pendrive/arvores
Cloning into 'arvores'...
done.`
然后我更改了一个文件来测试是否可以推送和提交更改,但我得到了这个错误消息。
$ git add .htaccess
$ git commit
[master 40eeccf] teste
1 file changed, 9 deletions(-)
$ git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 283 bytes | 0 bytes/s, done.
Total 3 (delta 2), 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 f:/pendrive/arvores
! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'f:/pendrive/arvores'
最佳答案
据我所见,你有两个选择:
将github中的一个裸机repo克隆到pendrive上,然后将这个repo正常地克隆到您的工作机器上(正如bruno nova和其他人已经建议的那样)。
将回购协议克隆到Pendrive,就像您所做的那样,但不要在工作机器上克隆它。只需插入并使用pendrive目录中的工作目录。
第二个选项是链接到的问题中建议的工作流。
关于git - 无法使git使用USB驱动器作为源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19360833/