[git-users] Question regarding git repository/branch structure
Hey All, I've read various git tutorials but still have some open questions regarding how repositories & branches should be used. Here's the situation i have: I have a code base "A" which is maintained by external partner. I do receive source code updates every few months for it. Based on the code base "A" I've built another product "B" which I develop. Then, I use product B as a base for my customers. But each customer has it's own small adjustments. Therefore, I maintain separate code base for each customer. Visually it would look something like this: A | B / / \ \ C DF G Now to the problem:) Every time changes occurs on code base "A" or "B", I have a daunting task to merge all changes to other code bases. I am looking for a way how to leverage Git to ease this code merge task for me. By reading tutorials, I learned a lot. But, still I have fundamental question of how my repository/branch structure should look like. Here are my questions: - Do I need to have repository for each code base? - If yes, how I can perform code merges between different repositories? - Should I have one repository with multiple branches? - what should be my master branch? A or B? - how should the merge performed? by using *rebase*? - are branches stored on the separate folders? - Is there another (better) way for solving the problem? -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [git-users] Question regarding git repository/branch structure
Hello, we deal with something similar at work, so here are my two cents. I'd call A "upstream" and B "master", and hold them as separate branches. Whenever a change is made to upstream, I'd merge that into master. I'd use merge to avoid getting into the same merge conflicts again and again (unless you want to use git-rerere, which can help in such cases. Then I'd also merge master's changes to the different customer branches. All this in one repository, because merging between repos is not really straightforward. To make things clear, you don't have to have a master branch, you could call it orange, kitten, potato, or whatever you like (real life examples). master is just a convention due to the fact that this is the default branch name. Best, Gergely On Feb 3, 2016 11:44 PM, "Gintautas"wrote: > Hey All, > I've read various git tutorials but still have some open questions > regarding how repositories & branches should be used. > > Here's the situation i have: > > > I have a code base "A" which is maintained by external partner. I do > receive source code updates every few months for it. > Based on the code base "A" I've built another product "B" which I develop. > Then, I use product B as a base for my customers. But each customer has > it's own small adjustments. Therefore, I maintain separate code base for > each customer. > Visually it would look something like this: > > > A > | > B > / / \ \ > C DF G > > > Now to the problem:) Every time changes occurs on code base "A" or "B", I > have a daunting task to merge all changes to other code bases. I am looking > for a way how to leverage Git to ease this code merge task for me. > > By reading tutorials, I learned a lot. But, still I have fundamental > question of how my repository/branch structure should look like. Here are > my questions: > >- Do I need to have repository for each code base? > - If yes, how I can perform code merges between different > repositories? >- Should I have one repository with multiple branches? > - what should be my master branch? A or B? > - how should the merge performed? by using *rebase*? > - are branches stored on the separate folders? >- Is there another (better) way for solving the problem? > > > > > > > > > > > > > > -- > You received this message because you are subscribed to the Google Groups > "Git for human beings" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to git-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[git-users] Modern BIOS and Modern OS, what think about?
I'm developing two major open-source projects and looking for opinions. More information in this quick note and in their respective repositories of projects: https://gist.github.com/DaniellMesquita/0e7e62a7c01646a55e16 -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [git-users] Download can't be found
On Tue, 2 Feb 2016 21:45:10 -0800 (PST) John Cwrote: > Just downloaded Git 2.6.4 to a Mac running El Capitan 10.11.3 The > installer worked fine and said job completed by I can find no > indication of where it was installed. > Does anyone have any suggestions? I have close to zero experience with Mac OS X platform but I have a hunch: Git is a command-line application which you supposed to run in a command line shell. The shell (I think Mac OS X comes with "bash") is typically run with the help of a so-called "terminal emulator" software which presents the user with a graphical window in which they can run a program expecting to work on a text-only terminal. So when you launch Terminal (or whatever it's named) you get a window with the shell running in it and prompting you with some text and a cursor. You can type there git --version and hit the Enter / Return key. If you get a short name and version of your Git program, all is OK and you're ready to apply whatever you read up on Git in your book / guide of choice ([1] would do just OK). If you get something like bash: git: command not found you have a problem with your Git installation. On a side note, Git is usually distributed with two stock GUI tools: `git gui` and `gitk`. You can run any of them right from the command prompt--while being in a directory with an initialized Git repository. I doubt if they are accessible from some sort of the system "application menu"--simply because this has little sense: they expect to be "run from" an existing repository so they have no command like "Open repository..." or something like this; they expect a different workflow. 1. http://git-scm.com/book -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.