[git-users] Incremental Git Push
Hello all - I am new to Git and have only used it for a handful of files on a small personal project. I'd like to explore using it further at my company. We currently use Synergy, which everyone loves to hate, and which I personally am fed up from having to constantly babysit. However, one unique feature of Synergy in its handling of distributed repositories is that it does incremental pushes that can be created as a file set between two repositories that are on totally separate networks. This has been useful to us to sync hypothetical repository Main to hypothetical repository Spoke by literally burning change sets to a DVD nearly everyday. The nice thing about Synergy is that Main remembers the last time it created a change set for Spoke, and subsequently only sends deltas since the last changeset. It seems that we could have a similar workflow using Git or other DVCS by simply burning the entire Master repository to DVD everyday and subsequently pushing to Spoke, however the people that actually do the DVD burning would get angry at us quickly. Any ideas if it would be possible for Git to create a delta changeset that we could burn to DVD? Seems like if I could setup a Staging Spoke on the same network as Main, and somehow record the push operations that happen from Main to Staging Spoke that might do the trick, but I have no idea if something like that is possible. Thanks! -- 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/groups/opt_out.
[git-users] Re: Git Puzzle: Managing multiple websites based on the same code
Dear Dyske, first of all: *That's not a git problem ;)* branches are the same (but a little bit better) than in SVN. Forks are repo copies. handling forks might be in some cases more tricky than a classic branch if you want to backport bugs / features to existing clones. *I think you should start using git with a single private repo using branches as like before!* If you are familiar with git in some future, you might find a way to replicate and manage forks for your business needs but there are no tools that will help you here. Just have a look at the *git flow* paradigm and toolset. Another suggestion, which is obvious but would not work, is to create a branch for each website. This wouldn't work because the concept of branch in Git is almost completely different from SVN. that's wrong. the concept is likely the same. But yes, it's different how worse SVN allows bad users working with the SCM. git is much more cleaner and yes, in a single repository (clone) you just have a single checkout at a time. The really difference is for you how to manage them. If you need different websites aside: just create a copy of your repository! You then have to update different repos if there are changes on the remote site. so far, so good. But ... (if you intend not soly change your SCM but also your way how to work *using forks*) I don't understand your gitHub problem while it is just a virtual problem: 1. yes, gitHub (don't know since when) denies to fork on the same user account via web-interface. 2. you still might fork a repo manually but you'll loose the github meta information that this is a fork. IE: you are not able to add push requests to / between these repositories 1. just clone your basesite 2. create new repo called forkedsite via web but don't let gitHub add files 3. rename the remote origin (for basesite) to something like parent and add the forksite remote as a new origin 4. push your master to the new origin which now has the same tree-ish as the parent 5. (re)set uptracking branch if needed 6. on updates on you parent repo: fetch --all merge --no-ff parent/bugfixBranch Perhaps you might have a look at http://*bitbucket*.comhttp://bitbucket.comwhere - private repos are free unlimited up to 5 users - forking a repos of your own account is possible via web As a git starter I don't know if *submodules *are very helpful yet for your purpose. Please regard: That you need a real basic framework or components that you might update independently. As a webDeveloper you should have a look at composerhttp://getcomposer.org or http://bower.io (http://yeoman.io/ will help too that bundles bower). So your dependency management might be more code-based instead of strict versioned submodules with all it's gaps and traps. With kind regards, ~Marcel Am Dienstag, 18. Juni 2013 23:42:06 UTC+2 schrieb Dyske Suematsu: Hi All, I spent a whole week researching this and found no answer. So, I'm hoping that someone here could help me. Here's my situation which I don't think is so unique or strange. I have a generic website that I always use as my starting point to build websites for all of my clients. Since each client's needs are different, I end up editing different parts of the original code. (In other words, I cannot separate and isolate files that all sites share in common.) As you could imagine, without some sort of version control, it would be very difficult to manage all the websites. The same fix/change would have to be applied to all the sites individually. Currently I manage them with SVN. The original, generic site is in the trunk and for each new client, I create a branch. If I make a change to the trunk that needs to be propagated to all the branches/sites, I just run svn merge to merge trunk into branches. I've been doing this for some years and it's been working fine. Now, I would like to switch to Git because it's more powerful overall, but I cannot figure out how I can manage these sites with Git. I searched this Google Group and found someone who asked a similar question. I also asked some of my programmer friends who have been using Git for a long time. They all suggested to create a fork for each website. I thought it would work, so I started implementing this but hit a wall. The issue is that on Github, each fork requires a unique user. Say, I create the Official repo under my Organization account. The URL would be: https://github.com/mycompany/basesite I then create a fork of this, and I would end up with: https://github.com/username/basesite Now, if I want to create another site, I would have to create a new user because each fork is differentiated only by the user name. If I have to create a new user for each website, eventually, I'll end up with a whole bunch of user accounts to manage. And, since this must be a
Re: [git-users] Incremental Git Push
On Wed, 19 Jun 2013 00:21:51 -0700 (PDT) jhops jesse.h...@gmail.com wrote: Any ideas if it would be possible for Git to create a delta changeset that we could burn to DVD? Yes, this feature set is provided by the `git bundle` command [1]. 1. https://www.kernel.org/pub/software/scm/git/docs/git-bundle.html -- 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/groups/opt_out.
[git-users] Re: Incremental Git Push
On Wednesday, 19 June 2013 08:21:51 UTC+1, jhops wrote: Hello all - I am new to Git and have only used it for a handful of files on a small personal project. I'd like to explore using it further at my company. We currently use Synergy, which everyone loves to hate, and which I personally am fed up from having to constantly babysit. However, one unique feature of Synergy in its handling of distributed repositories is that it does incremental pushes that can be created as a file set between two repositories that are on totally separate networks. This has been useful to us to sync hypothetical repository Main to hypothetical repository Spoke by literally burning change sets to a DVD nearly everyday. The nice thing about Synergy is that Main remembers the last time it created a change set for Spoke, and subsequently only sends deltas since the last changeset. It seems that we could have a similar workflow using Git or other DVCS by simply burning the entire Master repository to DVD everyday and subsequently pushing to Spoke, however the people that actually do the DVD burning would get angry at us quickly. Any ideas if it would be possible for Git to create a delta changeset that we could burn to DVD? Seems like if I could setup a Staging Spoke on the same network as Main, and somehow record the push operations that happen from Main to Staging Spoke that might do the trick, but I have no idea if something like that is possible. Thanks! Try looking at `git bundle`. It is designed as sneakernet transport, so it can determine which commits are missing based on some starting point refs. It can even do the equivalent of a clone with '--all' (that is the bundle file will have all the repo in it and and the file can be used as a clone source just as if it were a URL) [I think you need HEAD as well in the ref list if you want it to be non bare] Philip -- 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/groups/opt_out.
[git-users] Re: Submodule tracking remote master shows modified on super project git status after submodule update --remote
On Thursday, June 13, 2013 11:41:52 PM UTC+2, Adam Strzelecki wrote: In my superproject I have two submodules and I want them to track always master master. Using Git 1.8.2. So I've added branch = master to .gitmodules and using git submodule update --remote to pull always recent master. However everytime submodule master is updated, running superproject git status or diff shows its recorded sha1 has changed. This doesn't make sense since I am tracking master? Shouldn't it show it has changed only when submodule HEAD is not the branch recorded in my superproject's .gitmodules ?? Regards, Adam -- 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/groups/opt_out.
[git-users] Re: Incremental Git Push
Great thanks for the replies Konstantin and Philip. That was easy! -- 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/groups/opt_out.
Re: [git-users] Incremental Git Push
On Wed, Jun 19, 2013 at 01:40:42PM +0400, Konstantin Khomoutov wrote: On Wed, 19 Jun 2013 00:21:51 -0700 (PDT) jhops jesse.h...@gmail.com wrote: Any ideas if it would be possible for Git to create a delta changeset that we could burn to DVD? Yes, this feature set is provided by the `git bundle` command [1]. 1. https://www.kernel.org/pub/software/scm/git/docs/git-bundle.html AFAICS from reading the man page there is no automatic recording of what has been bundled up in the past. That would mean that Jesse's workflow in Synergy couldn't be replicated in Git without a bit of manual record keeping, right? /M -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: mag...@therning.org jabber: mag...@therning.org twitter: magthe http://therning.org/magnus Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves. -- Alan Kay pgpR2U5aUBLOz.pgp Description: PGP signature
[git-users] Merging hotfix without merging all files.
Hi I have a question about GIT. Suppose I have a project on MASTER branch with 100s of php files. To do a bug fixing in the project, i create a separate branch *git checkout -b bugfix* Then after fixing the bug in 3 files (for eg index.php, register.php and login.php), i merge it in the master branch *git checkout master **git merge bugfix* The above code will merge all the 3 files i made changes, but is there anyway that i can force GIT to merge only 2 files, say login.php and register.php only? Thanks -- 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/groups/opt_out.