我意识到有类似的问题,但我的问题略有不同:我想知道是否通过多台计算机上的同步Dropbox文件夹共享裸存储库是否可以通过Git 共享代码?
换句话说:通过Dropbox共享一个Git repo,就像从一个集中位置共享它一样,例如,通过SSH或HTTP?
repo是否在每个人的本地驱动器上更新?这与通过共享网络驱动器共享Git仓库相同吗?
注意:这不是一个经验问题:它似乎工作正常.我在问Git repo的结构是否与这种共享方式兼容.
编辑为了澄清/重复,我说的是将Dropbox上的Git存储库保存为裸存储库.我不是在谈论保留Dropbox中受源代码控制的实际文件.
我一直在使用git半年左右,我不知道我是否完全使用git.
首先,我一直在尝试使用Dropbox,我觉得如果我可以将它合并到我的工作流程中,那么它真的很棒,因为Dropbox非常方便.
git init --bare.然后在我的桌面的提交后脚本中,我有一个git push --mirror
dropbox.这样我的桌面和保管箱将始终完全镜像,这是一件好事.
我真正的问题是:我应该如何设置我的笔记本电脑? 我听到了一些建议:
我一直在做第二,我不知道我做的是否正确.我的工作流程包括:
目前,在我的笔记本电脑上执行git branch -r后,在我的桌面上执行操作并未显示我最近的笔记本电脑提交.有人可以告诉我为什么吗?git push --mirror origin
我提到直接从我的桌面拉,因为这样我总是可以初始化拉动,我100%确信同步完成.使用Dropbox,我永远无法100%确定更新是否已推送到Dropbox服务器
首先,我想强调的是,这个问题不是关于在Dropbox上托管我的中央回购,而且我是使用git的新手.我能找到的涉及Dropbox和git的其他问题都没有真正回答我的问题; 他们都是关于使用Dropbox托管您的存储库,或者是否将这两者结合使用是一个"好主意",这两者都不是我在这里问的问题.
我的问题如下:我有两台计算机,每台双启动Windows和Ubuntu(一台笔记本电脑和一台台式机).我有一个位于Dropbox文件夹中的本地git存储库(克隆自github存储库),以便在机器和操作系统之间同步.当我在一台机器/操作系统上进行提交时,它似乎没有将提交状态正确地同步到其他机器.
例如:
在我的Windows桌面上,我对foo.cpp进行了更改.然后我'git commit -a'和'git push',将我的更改推送到github托管的存储库.对文件的更改也会在我的Dropbox文件夹中同步,当我在学校登录我的Windows笔记本电脑时,所有内容都会毫无问题地下载.但是,当我输入'git status'时,它会说:
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: foo.cpp
#
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)
但是我已经在我的其他机器上提交了这些更改,表面上是相同的工作目录.尝试从github服务器'git pull'给我的信息是一切都是'已经是最新的'.
我希望Dropbox可以无缝地同步存储库状态.有人熟悉解决这种情况的方法吗?谢谢!
我使用Dropbox将我的RStudio项目同步到多台机器上.我还使用Git在外部站点上备份我的代码.现在,这是问题所在.当我启动RStudio时,Dropbox会疯狂地尝试索引文件.git/index.lock.我已检查该文件是否出现并从项目文件夹的.git子文件夹中消失.它非常快速地执行,您必须不断地按住"刷新"快捷方式才能看到它.因此,Dropbox占用了整个CPU内核,导致CPU风扇以100%旋转.我已禁用同步常见问题中其他地方描述的同步.Rproj.user文件夹,但这似乎是一个无关的问题.
目前我必须手动暂停Dropbox以避免浪费CPU和电源,但是找到这种行为背后的原因会很好.RStudio支持建议关闭.git文件夹的同步.我不是100%熟悉Git,当我从不同的非同步机器提交时,这不会产生冲突吗?为什么index.lock文件会快速出现?上面提到的支持说这是Dropbox和Git之间的问题,而不是RStudio.而且,问题出现在一些项目中,而不是其他项目,我无法查明罪魁祸首.谢谢你的任何建议!
我现在在存储图像方面遇到了困境:
我只想在请求非常少的情况下检查它们。有了这个,我不喜欢我的 git 存储库被图像弄得乱七八糟,因为我有几兆字节大小的图像。
目前,我正在做的是将除二进制文件、目标文件和图像之外的几乎所有内容都包含到我的 git 存储库中。
然后每周,我都会对所有内容进行完整的 zip 备份。
我想问的是,是否有办法将文件放入 git 而不进行版本控制?
我知道它违背了 git 的目的,但是可以通过这种方式控制 git repo 的大小。
为了显示:
pic1.jpg。我想把它放到 git 中。pic1.jpg为另一个图像但具有相同的文件名,它只会覆盖pic1.jpg而不进行版本备份。这听起来可能很危险,但是从我从 git 中学到的是,如果您将文件提交到其中,它将永远留在那里。
我想到了另一个解决方案:项目将被完全压缩并放置在一个保管箱中,项目的新开发人员将从保管箱中获取它,提取,执行 git fetch,然后合并。
我希望有人可以分享他们在这方面的经验/专业知识。
所以我之前看到过类似的问题,但是我并没有考虑在Git的服务器上推送/撤销回购,这只是在我的机器上本地保存回购的地方.我仍然推/拉到GitHub.
我知道它可以在技术上生活在我想要的任何地方,但任何人都可以想到这可能会导致严重的原因吗?
我在Mac,Windows系统和Linux服务器上使用Dropbox,如果这有所不同的话.