是否可以在一个目录中拥有2个git存储库?我想不会,但我想我会问.基本上,我想检查我的主目录配置文件(例如.emacs),它应该在我工作的所有机器上是通用的,但是有本地文件的第二个存储库(例如.emacs.local),其中包含机器特定的配置.我能想到的唯一方法是将本地配置放在子目录中,并忽略主git存储库中的子目录.还有其他想法吗?
我有两个存储库,一个是库的主要仓库,另一个是使用该库的项目.
如果我修复了subservient项目,我想要一个简单的方法将该补丁应用到上游.
每个存储库中文件的位置都不同.
www.playdar.org/static/playdar.jsplaylick.com/lib/playdar.js我尝试git format-patch -- lib/playdar.js在playlick项目上使用,然后git am在主playdar repo上,但补丁文件中的不同文件位置引发了错误.
有没有一种简单的方法可以将给定文件中给定提交的补丁应用到其他地方的另一个任意文件?
对于奖励积分,如果您要应用补丁的文件不在git存储库中,该怎么办?
我觉得使用Git子模块对于我的开发工作流程来说有点麻烦.我听说过Git子树和Gitslave.
我在Jenkins的一个项目中有一个子模块.我已启用高级设置以递归更新子模块.
当我运行构建时,我看到工作区有子模块中的文件.问题是,它似乎是子模块的第一次修订.当我推送更改(在GitHub上托管的存储库)时,Jenkins似乎不更新子模块以获得正确的更改.有没有人见过这个?
在Linux上使用Git 1.8.1.1.存储库如下所示:
master
book
Run Code Online (Sandbox Code Playgroud)
子模块创建如下:
$ cd /path/to/master
$ git submodule add https://user@bitbucket.org/user/repo.git book
Run Code Online (Sandbox Code Playgroud)
该book子模块是干净的:
$ cd /path/to/master/book/
$ git status
# On branch master
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
另一方面,主人显示书子模块有"新提交":
$ cd /path/to/master/
$ 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: book (new …Run Code Online (Sandbox Code Playgroud) 当使用git checkout切换分支时,我会假设您大多数时候都想要更新子模块.
更新了示例:
在分支A上,git checkout B将导致分支B的工作副本,子模块S在3852f1(具有修改的S).git submodule update将在fd72d7结帐S.
我正在尝试从外部github仓库获取一个文件夹,以便在我的项目中使用.
我希望我的项目设置如下:
-my_project
-submodule
-code.py
-MY_README
-.git
Run Code Online (Sandbox Code Playgroud)
我有一个名为some-submodule的远程repo,结构如下:
-submodule
-code.py
-README
-.gitignore
Run Code Online (Sandbox Code Playgroud)
所以我只想将子模块文件夹添加到我的项目中.
但是之后我最终得到了这个
git submodule add http://github.com/user/submodule.git submodule
-my_project
-submodule
-submodule
-code.py
-README
-.gitignore
-MY_README
-.gitignore
Run Code Online (Sandbox Code Playgroud)
我是git的新手所以我真的不知道是否可以使用git.如果它有一些帮助我在Windows上使用msysgit.
那么,无论如何我可以从公共仓库中获得一个干净的子模块文件夹吗?
我有一个文件夹,这是一个git repo.它包含一些文件和.gitmodules文件.现在,当我这样做git init,然后git submodule init,后者命令的输出是什么.我如何帮助git查看.gitmodules文件中定义的子模块,而无需git submodule add再次手动运行?
更新:这是我的.gitmodules文件:
[submodule "vim-pathogen"]
path = vim-pathogen
url = git://github.com/tpope/vim-pathogen.git
[submodule "bundle/python-mode"]
path = bundle/python-mode
url = git://github.com/klen/python-mode.git
[submodule "bundle/vim-fugitive"]
path = bundle/vim-fugitive
url = git://github.com/tpope/vim-fugitive.git
[submodule "bundle/ctrlp.vim"]
path = bundle/ctrlp.vim
url = git://github.com/kien/ctrlp.vim.git
[submodule "bundle/vim-tomorrow-theme"]
path = bundle/vim-tomorrow-theme
url = git://github.com/chriskempson/vim-tomorrow-theme.git
Run Code Online (Sandbox Code Playgroud)
这是这个目录的清单:
drwxr-xr-x 4 evgeniuz 100 4096 ???? 29 12:06 .
drwx------ 60 evgeniuz 100 4096 ???? 29 11:43 ..
drwxr-xr-x 2 evgeniuz 100 4096 ???? 29 …Run Code Online (Sandbox Code Playgroud) 我有一个项目,用于在路径中包含子模块mysubmodule.我从源代码(1.8.3-rc2)安装了最新的Git并运行git submodule deinit mysubmodule.然后我删除了.gitmodules文件并提交了更改.我还.git从mysubmodule文件夹中删除了该目录.
我现在想mysubmodule直接将文件提交到我的仓库,但是git说没有变化.如果我输入git add mysubmodule它什么都不做.如果我输入git add mysubmodule/file.txt它说fatal: Path 'mysubmodule/file.txt' is in submodule 'mysubmodule'
我还发现,如果您查看一个新版本的repo,它会创建一个mysubmodule目录,尽管没有.gitmodules文件.跑步git submodule init会给你一个No submodule mapping found in .gitmodules for path 'mysubmodule'错误.
我该如何解决?
我试图找出是否可以使用其他人的存储库(或存储库的分支)作为您自己的Git存储库中的子模块.关于github本身的文档要么丢失了,要么我没有使用正确的术语来查找它.如果这不是将公共存储库作为git项目中的共享库包含的首选方式,那么建议作为替代最佳实践将受到赞赏.
git-submodules ×10
git ×9
git-subrepo ×2
git-patch ×1
git-repo ×1
git-slave ×1
git-subtree ×1
github ×1
ignore ×1
jenkins ×1
patch ×1
repository ×1
status ×1