相关疑难解决方法(0)

Git如何处理符号链接?

如果我有一个符号链接的文件或目录,我将它提交到Git存储库,它会发生什么?

我会假设它将它作为符号链接留下,直到文件被删除,然后如果你从旧版本拉回文件它只是创建一个普通文件.

当我删除它引用的文件时它会怎么做?它只是提交悬空链接吗?

git version-control symlink

1515
推荐指数
4
解决办法
36万
查看次数

417
推荐指数
15
解决办法
49万
查看次数

git子模块更新

我不清楚以下是什么意思(来自git submodule update docs):

...将使子模块HEAD分离,除非--rebase--merge指定...

怎么--rebase/ --merge改变事情?

我的主要用例是有一堆中央存储库,我将通过子模块嵌入到其他存储库中.我希望能够改进这些中央回购,直接在他们的原始位置,或从他们的嵌入回购(通过子模块使用它们的那些).

  • 从这些子模块中,我可以创建分支/修改并使用推/拉,就像我在常规回购中一样,或者有什么需要谨慎的吗?
  • 我如何将子模块引用的提交从say(tagged)1.0提升到1.1(即使原始repo的头部已经是2.0),或者选择使用哪个分支的提交?

git git-submodules

233
推荐指数
4
解决办法
23万
查看次数

单个文件作为Git子模块

我正在尝试确定Git存储库中共享代码的最佳实践.

到目前为止,我显然遇到了子模块,看起来他们 - 几乎 - 符合要求.我的项目是一个PHP MVC框架,结构简单:

  • /应用
  • core.php中
  • /核心

哪个app文件夹包含特定于应用程序的控制器,模型,视图等,同时core包含一般用途的文件夹,例如登录控制器.该core.php文件本身是所有请求全球处理器.

因此,我在MVC框架的所有部署中的共享代码是core.phpcore.

我可以看到如何core变成Git子模块,但不是core.php.

这甚至可能吗?我是否需要重新构建我的框架以便core.php驻留在core文件夹中,以便我可以将整个文件夹作为子模块,还是有更好的方法?

git git-submodules

14
推荐指数
3
解决办法
1万
查看次数

为git子模块提供自定义文件

我的项目使用Varying-Vagrant-Vagrants作为子模块/machine.

VVV提供了通过自定义文件配置它的可能性.我的自定义文件是:

machine/
??? Customfile
??? config
?   ??? nginx-config
?       ??? sites
?           ??? mysite.conf
??? www
    ??? mysite
        ??? vvv-hosts
        ??? vvv-init.sh
        ??? wp-cli.yml
Run Code Online (Sandbox Code Playgroud)

这些路径在VVV的.gitignore文件中都被忽略.

什么是在我的项目中提供这些文件的好方法,以便在整个项目被递归克隆时它们与vvv位于同一目录中?希望无需制作跟踪这些文件的分支.

只需添加包含这些文件的子模块,就会产生以下结果:

$ git submodule add https://github.com/Varying-Vagrant-Vagrants/VVV.git machine/
'machine' already exists and is not a valid git repo
Run Code Online (Sandbox Code Playgroud)

谢谢

git git-submodules

6
推荐指数
1
解决办法
263
查看次数

使用git组织大量个人脚本的好方法是什么?

我有很多我的个人脚本,我想开始使用Git进行版本控制.我以前组织的代码如下:

~/code/python/projects/ (for large stuff, each project contained in an individual folder)
~/code/python/scripts/ (single file scripts all contained in this directory)
~/code/python/sandbox/ (my testing area)
~/code/python/docs/ (downloaded documentation)

~/code/java/... (as above)
Run Code Online (Sandbox Code Playgroud)

现在我将开始使用git对我的代码进行版本控制,这样我就可以拥有历史记录并将所有代码备份到远程服务器.

我知道如果我使用SVN,我会将整个" ~/code/"目录保存在一个大型存储库中,但我知道这不是用Git做事的好方法.
我在网上看到的大多数信息建议将我的所有项目文件夹保存在一个地方(例如,没有python或java的单独目录),每个项目都包含它自己的git存储库,只需要一个包含所有单个的"snippets"目录 - 文件脚本/实验,可以在以后转换为项目.

但我不确定我将所有代码目录整合到一个区域的感觉.是否有一种很好的方法可以保持我的单独代码目录不变,还是不值得努力?也许我只是附加到单独的代码目录,因为我从来不知道其他任何东西......

另外(作为附注),我希望能够快速查看所有项目和脚本的时间顺序历史记录.所以我可以看到我最近创建的项目.我以前通过在所有项目的开头保留一个数字来做到这一点002project,003project.
是否有自动或简单的方法在git中执行此操作而无需在所有项目名称中添加数字?

我愿意接受任何实用或哲学的代码组织你的建议.谢谢!!!

git organization

5
推荐指数
1
解决办法
4044
查看次数

使用windows mklink链接2个文件

我试图在Windows上找到相当于*nix的符号链接,并开始使用mklink.问题是,作为普通用户(不是管理员),我可以链接到带有"/ J"选项的文件夹,但我无法链接到文件.我设法以管理员身份执行,但我需要它作为标准用户.

为什么只有管理员才能在Windows上创建文件链接?有解决方法吗?

windows filesystems

1
推荐指数
1
解决办法
6114
查看次数