一个由四人组成的团队如何使用Git(特别是Github for Windows)将本地更改推送到共享网络驱动器?
现在(没有Git)我们必须将文件从网络驱动器复制到本地计算机,编辑文件,然后将它们重新上传到共享网络驱动器.这是一个艰苦的过程,可能会导致很多错误,但似乎Git可以帮助我们.
我们可以简单地在共享驱动器上安装Git并从那里开始吗?
我想在(Windows)网络共享上存储一个裸git存储库.我使用linux,并使用CIFS安装所述网络共享.我的coleague使用windows xp,并将网络共享自动挂载(从ActiveDirectory,不知何故)作为网络驱动器.
我想知道我是否可以使用两台计算机的repo,没有并发问题.
我已经测试了,在我的最后我可以克隆好,但我担心如果我们同时访问相同的repo(推/拉)会发生什么.
在git FAQ中有关于使用网络文件系统的参考(以及SMBFS的一些问题),但我不确定网络/服务器/ windows/linux是否有任何文件锁定 - 我很确定没有"T.
那么,有没有人在网络共享上使用git repo,没有服务器,没有问题?
谢谢,
Alex
PS:我想避免使用http服务器(或git-daemon),因为我没有访问带有共享的服务器.此外,我知道我们可以从一个推送/拉到另一个,但我们需要在备份原因上拥有代码/ repo.
更新:
我担心的不是网络故障的可能性.即便如此,我们也会在本地拥有所需的分支,并且我们将能够编译我们的资源.
但是,我们通常会经常提交,并且需要经常进行rebase/merge.从我的角度来看,最好的选择是在共享上设置一个中央仓库(这样可以保证备份),我们都会从那个克隆,并使用它进行rebase.
但是,由于我们经常这样做,我担心文件/ repo损坏,如果碰巧我们同时推/拉.通常情况下,每次我们访问远程仓库时,我们都会互相吼叫 :),但最好让计算机/网络保护它.
并且,GIT可能有一个内部机制来执行此操作(因为有人可以在你工作的时候推送你的一个回购),但我还没有找到任何结论.
更新2:
共享驱动器上的存储库将是一个裸仓库,不包含工作副本.
我似乎无法找到一个很好的解释.
我知道git pull会做什么:
1)获取,即来自服务器的所有额外提交被复制到本地存储中,并且origin/master分支指针移动到提交链的末尾
2)合并所述的原点/主分支到主支路,该主支指针移动到新创建的提交,而原点/主指针留在原地.
我认为git push做的事情非常相似,但我不确定.我相信它会做其中一个,或类似的东西,或其他东西(?):
要么
我目前正在使用git进行基本操作,所以我做得很好,但我想完全理解这些内部结构.
我对git和我有点新手,而且我的朋友想用git进行一些协作开发.我得到了整个拉动和推动系统,现在我有一个问题.
我想在文件test.php上工作,我需要进行新的更改.没有.我编辑它并想要推它,但在这个时候我的朋友编辑并推了它.现在发生了什么?这些冲突是如何解决的?
谢谢!
我正在使用Git 1.7.4.1.我想将我在一个文件夹上执行的提交推送到我的远程仓库.如何仅将更改从一个文件夹推送到我的远程仓库?我发现的所有文档都只列出了如何推送整个回购......
davea-mbp2:systems davea$ git push origin trunk
Password:
To http://dalvarado@mydomain.com/systems.git
! [rejected] trunk -> trunk (non-fast-forward)
error: failed to push some refs to 'http://dalvarado@mydomain.com/systems.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)
我被警告的冲突不适用于我想要推送的文件夹.任何帮助表示赞赏, - 戴夫
git ×5
concurrency ×1
drive ×1
git-push ×1
github ×1
linux ×1
networking ×1
push ×1
shared ×1
windows ×1