KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I've two or more projects (let's call them ProjectFoo and ProjectBar ) having some common code that I put in a submodule . My understanding is that if I commit changes to a submodule from within ProjectFoo it'll be in a detached head that only all ProjectFoo clones can see: (master) $ cd ProjectFooBarCommoneSubmodule/ (master) $ git commit -am "Common code fix." (56f21fb0...) $ git push Everything up-to-date That's probably because the master branch hasn't changed. I could probably do something like git checkout master && git merge Everything up-to-date but that seem pretty ugly. May be a git reset --hard master would do the same but it seems even uglier. How to have a common code shared by project, updated from within those projects using it? In other words, committing to that submodule should update all various repositories ( repositories, not just clones ) that use this same submodule. ---- EDIT ---- Visibly my checked-out repository was messed up and broken. It should have worked right from the start like that (on ProjectFoo in this example): (master) $ cd ProjectFooBarCommoneSubmodule/ (master) $ git commit -am "Common code fix." (master) $ git push .... fbfdd71..0acce63 master -> master (master) $ cd .. (master) $ git add ProjectFooBarCommoneSubmodule (master) $ git commit -m "Submodule update." Then to get that change from on other projects, like ProjectBar : (master) $ cd ProjectFooBarCommoneSubmodule/ (master) $ git pull Would update to the latest common code. A git checkout master may be required if it's on a detached head.
Tags (comma-separated)
Save Edits
Cancel