![]() ![]() I can cherry-pick specific files or commits and leave other stuff untouched. We would have (for example) a branch per project and keep these as parallel as needed/wanted. Normally git is the tool of choice here, to my understanding. Later it could be that I update B and want to reflect that in A. If I now change something in Project A which is in the shared code base with Projects B and C, I want to directly (and selectively) reflect this change in B and C as well. Their versions of the core go back to the same root but, so they share a lot of code, but each of them also has their particularities. Since multiple projects are under active development at the same time, the direction of update is impossible to predict. Some of the improvements shall be updated in old (i.e., running or under-development) projects - others not. Naturally, with each project this core develops further and gets better. Therefore, we try to abstract out the common core (experimental structure, in our case), so that we can maximally recycle and reuse across projects. Therefore, a commit of a superproject also contains the name of the submodule directories, along with the current commit of these submodules.We work on multiple different projects which all share basic (game) structure (actually, we're not a game company but a neuroscience research lab - so the projects are experiments, but that should not matter). You want the version that actually works with your status of fiji. Most of the time you do not want to have the newest coolest version of the submodule. What is the difference between calling git supmodule update from the fiji directory and changing into a submodule directory and doing a git pull? This is probably the opposite way round from what you expect from resolving conflicts while merging :) Difference between git submodule update and git pull git diff -ours shows the differences between the “master” or “upstream” branch and the working tree.git diff -theirs shows the differences between the “server” branch and the working tree.If you’re using git diff -theirs and git diff -ours while rebasing then you may get confused. Now we should be able to continue, with git rebase -continue A note on “ours” and “theirs” The usual sequence of commands when working inside a submodule: See the Submodules section of the Downloading and Building Fiji From Source page for details. However, to work with a submodule you must clone that repository. Checking out submodulesĮach submodule is a proper full-fledged git repository, so any git commands executed within the folders of the submodule will affect that git repository, not fiji’s. that 40-digit hex string which is the unique identifier of each commit) of that submodule. Submodules, although existing as folders inside the fiji repository, are different: only the folder name, as a path pointer, is registered as belonging to fiji’s git repository, together with the current revision (“commit name”, i.e. ![]() ![]() With git, any git command executed within any subdirectory of the repository affects the overall git repository. Submodules in Fijiįiji is hosted on a main git repository which contains several declared submodules such as TrakEM2. When in doubt, ask for help from the community. This section is out of date, potentially misleading or invalid. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |