keronkeen.blogg.se

Smartgit set submodule to branch
Smartgit set submodule to branch












smartgit set submodule to branch
  1. #SMARTGIT SET SUBMODULE TO BRANCH UPDATE#
  2. #SMARTGIT SET SUBMODULE TO BRANCH SOFTWARE#
  3. #SMARTGIT SET SUBMODULE TO BRANCH CODE#

It can be a little tricky to take an existing subfolder and turn it into an external dependency.

#SMARTGIT SET SUBMODULE TO BRANCH UPDATE#

You can use git submodule update -init -recursive here as well, but if you’re cloning slingshot for the first time, you can use a modified clone command to ensure you download everything, including any submodules: git clone -recursive Switching to submodules At this point, if you were to peek inside the rock folder, you’d see … nothing.Īgain, Git expects us to explicitly ask it to download the submodule’s content. You’d start by running git clone to download the contents of the slingshot repository. Now, say you’re a new collaborator joining Project Slingshot. Git log # commits from Rock Joining a project using submodules Git log # still commits from Project Slingshot Git log # log shows commits from Project Slingshot On the command-line, Git commands issued from slingshot (or any of the other folders, rubber-band and y-shaped-stick) will operate on the “parent repository”, slingshot, but commands you issue from the rock folder will operate on just the rock repository: cd ~/projects/slingshot You can interact with all the content from rock as if it were a folder inside slingshot (because it is). That’s it! You’ve embedded the rock repository inside the slingshot repository. On GitHub, the rock folder icon will have a little indicator showing that it is a submodule:Īnd clicking on the rock folder will take you over to the rock repository. If everything looks good, you can commit this change and you’ll have a rock folder in the slingshot repository with all the content from the rock repository. Newer versions of Git will do this automatically, but older versions will require you to explicitly tell Git to download the contents of rock: git submodule update -init -recursive In the slingshot repository: git submodule add rockĪt this point, you’ll have a rock folder inside slingshot, but if you were to peek inside that folder, depending on your version of Git, you might see … nothing. You can add rock as a submodule of slingshot.

#SMARTGIT SET SUBMODULE TO BRANCH CODE#

You’ve got code for y-shaped stick and a rubber-band.įlickr photo shared by under a Creative Commons ( BY ) licenseĪt the same time, in another repository, you’ve got another project called Rock-it’s just a generic rock library, but you think it’d be perfect for Slingshot. Let’s say you’re working on a project called Slingshot.

smartgit set submodule to branch

Submodules allow you to include or embed one or more repositories as a sub-folder inside another repository.įor many projects, submodules aren’t the best answer (more on this below), and even at their best, working with submodules can be tricky, but let’s start by looking at a straight-forward example. Git provides submodules to help with this.

#SMARTGIT SET SUBMODULE TO BRANCH SOFTWARE#

Eventually, any interesting software project will come to depend on another project, library, or framework.














Smartgit set submodule to branch