Warning updating the currently checked out branch friend dating boys tanzania
It often happens that while working on one project, you need to use another project from within it.
Perhaps it’s a library that a third party developed or that you’re developing separately and using in multiple parent projects.
You can overwrite this value locally with $ git diff --cached Db Connector diff --git a/Db Connector b/Db Connector new file mode 160000 index 0000000..c3f01dc --- /dev/null b/Db Connector @@ -0,0 1 @@ Subproject commit c3f01dc8862123d317dd46284b05b6892c7b29bc is a subdirectory in your working directory, Git sees it as a submodule and doesn’t track its contents when you’re not in that directory. $ cd Main Project $ ls -la total 16 drwxr-xr-x 9 schacon staff 306 Sep 17 . drwxr-xr-x 13 schacon staff 442 Sep 17 -rw-r--r-- 1 schacon staff 92 Sep 17 .gitmodules drwxr-xr-x 2 schacon staff 68 Sep 17 Db Connector -rw-r--r-- 1 schacon staff 756 Sep 17 Makefile drwxr-xr-x 3 schacon staff 102 Sep 17 includes drwxr-xr-x 4 schacon staff 136 Sep 17 scripts drwxr-xr-x 4 schacon staff 136 Sep 17 src $ cd Db Connector/ $ ls $$ git submodule init Submodule 'Db Connector' (https://github.com/chaconinc/Db Connector) registered for path 'Db Connector' $ git submodule update Cloning into 'Db Connector'... Otherwise you would probably instead be using a simpler dependency management system (such as Maven or Rubygems).
Instead, Git sees it as a particular commit from that repository. remote: Total 14 (delta 1), reused 13 (delta 0) Unpacking objects: 100% (14/14), done. command to fetch changes from the submodule repositories, Git would get the changes and update the files in the subdirectory but will leave the sub-repository in what’s called a “detached HEAD” state.
The simple option is to go into each submodule and manually push to the remotes to make sure they’re externally available and then try this push again. Writing objects: 100% (9/9), 917 bytes | 0 bytes/s, done. Writing objects: 100% (2/2), 266 bytes | 0 bytes/s, done.
If you want the check behavior to happen for all pushes, you can make this behavior the default by doing $ git push --recurse-submodules=on-demand Pushing submodule 'Db Connector' Counting objects: 9, done. Total 9 (delta 3), reused 0 (delta 0) To https://github.com/chaconinc/Db Connector c75e92a..82d2ad3 stable - stable Counting objects: 2, done. Total 2 (delta 1), reused 0 (delta 0) To https://github.com/chaconinc/Main Project 3d6d338..9a377d1 master - As you can see there, Git went into the Db Connector module and pushed it before pushing the main project.
$ git diff --cached --submodule diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..71fc376 --- /dev/null b/.gitmodules @@ -0,0 1,3 @@ [submodule "Db Connector"] path = Db Connector url = https://github.com/chaconinc/Db Connector Submodule Db Connector 0000000...c3f01dc (new submodule)$ git clone https://github.com/chaconinc/Main Project Cloning into 'Main Project'... This means that there is no local working branch (like “master”, for example) tracking changes.
With no working branch tracking changes, that means even if you commit changes to the submodule, those changes will quite possibly be lost the next time you run In order to set up your submodule to be easier to go in and hack on, you need to do two things.
As you can see, it also gives us some helpful advice on what we might want to do next.A common issue arises in these scenarios: you want to be able to treat the two projects as separate yet still be able to use one from within the other. Suppose you’re developing a website and creating Atom feeds.Instead of writing your own Atom-generating code, you decide to use a library.You need to go into each submodule and check out a branch to work on.Then you need to tell Git what to do if you have made changes and then $ git submodule update --remote --merge remote: Counting objects: 4, done. remote: Total 4 (delta 2), reused 4 (delta 2) Unpacking objects: 100% (4/4), done.Strangely, Git doesn’t really give you much information to help out here, not even the SHA-1s of the commits of both sides of the history. If you run What is important is the SHA-1 of the commit from the other side. You can either just try the merge with the SHA-1 directly, or you can create a branch for it and then try to merge that in.We would suggest the latter, even if only to make a nicer merge commit message.$ cd Db Connector $ git rev-parse HEAD eb41d764bccf88be77aced643c13a7fa86714135 $ git branch try-merge c771610 (Db Connector) $ git merge try-merge Auto-merging src/main.c CONFLICT (content): Merge conflict in src/main.c Recorded preimage for 'src/main.c' Automatic merge failed; fix conflicts and then commit the result.$ vim src/main.c (1) $ git add src/main.c $ git commit -am 'merged our changes' Recorded resolution for 'src/main.c'. (2) $ git diff (3) diff --cc Db Connector index eb41d76,c771610..0000000 --- a/Db Connector b/Db Connector @@@ -1,1 -1,1 1,1 @@@ - Subproject commit eb41d764bccf88be77aced643c13a7fa86714135 -Subproject commit c77161012afbbe1f58b5053316ead08f4b7e6d1d Subproject commit 9fd905e5d7f45a0d4cbc43d1ee550f16a30e825a $ git add Db Connector (4) $ git commit -m "Merge Tom's Changes" (5) [master 10d2c60] Merge Tom's Changes Interestingly, there is another case that Git handles.If a merge commit exists in the submodule directory that contains both commits in its history, Git will suggest it to you as a possible solution.It sees that at some point in the submodule project, someone merged branches containing these two commits, so maybe you’ll want that one.merged our changes If this is correct simply add it to the index for example by using: git update-index --cacheinfo 160000 9fd905e5d7f45a0d4cbc43d1ee550f16a30e825a "Db Connector" which will accept this suggestion.