I like the idea of using git to manage your local files. I do the same
thing and use github for my remote repository. My biggest question for you
is how much value do you see in creating a separate branch (really just a
label in git) for each machine you have an account on? If I did that, I
would have hundreds and hundreds of branches and they'd potentially lose
some value. I guess I say "lose value" because I personally use git to
intentionally keep my dot-files and other home directory contents the same
vs. unique on each system. Another colleague of mine will actually put into
cron the set of commands "git pull; git commit -a -m "Update from $(uname
-n)"; git push". Works for him whereas I'm a bit more deliberate with my
commits.

-- Jon Miller

On Fri, Nov 2, 2012 at 10:03 AM, McKown, John <[email protected]
> wrote:

> Suppose I have a "personal" account on multiple Linux instances. Each
> account has a HOME subdirectory on a local filesystem. Each system has an
> NFS mount to a shared disk. I have a read-write area on that disk. For the
> sake of argument, let's say that I access this NFS area via the path
> /nfs/server/me. What I have done in create a subdirectory on that path
> called "git", i.e. /nfs/server/me/git . Under the "git" subdirectory, I
> have created one subdirectory for each major subdirectory in my HOME. In
> particular, the ~/bin subdirectory. What I have done is basically created
> /nfs/server/me/git/bin.git and did a "git --bare init" in it. Then, on each
> system, I basically did:
>
> cd
> mv bin bin-hold
> mkdir bin
> cd bin
> git init
> git remote add origin /nfs/server/me/git/bin.git
> echo "master" >version.txt
> git add .
> git commit -m "init master"
> git push --all
> git checkout -b $(hostname)
> mv ../bin-hold .
> hostname >|version.txt
> git add .
> git commit -m "init $(hostname)"
> git push --all
>
> Whenever I change a file, I do the three commands: "git add <filename>",
> "git commit -m '<reason>'", and "git push". This updates that system's
> branch in the shared git repository.
>
> What I have ended up with is /nfs/server/me/git/bin.git being an
> "archive/backup" of the files in ~/bin for each of my systems in
> /nfs/server/me/git/bin.git . Each system's archive is in a separate branch.
> Now, I am thinking that because "git" uses the SHA-1 of a file as it's
> identifier, that if I have an exact duplicate of a file in multiple
> systems, there is really only one physical copy in the
> /nfs/server/me/git/bin.git. True? Or am I'm confused? Also, if a new system
> is installed and I get my own HOME on it, then I can do a "git clone
> /nfs/server/me/git/bin.git" to setup that the ~/bin on that system. I would
> then do a "git checkout -b $(hostname)" to setup a branch for the new
> system (followed by a "hostname >|version.txt"; "git add version.txt"; "git
> commit -m "init $(hostname)" "; "git push --all"). I can then "copy"
> another server's ~/bin by simply doing a "git pull origin/other-server"
> while being in the current server's "branch". I can also use something like
> "git fetch; git diff ..origin/other-server" to see what changes there are
> between the current server's ~/bin and any other server's ~/bin.
>
> Does this sound reasonable? Or am I just being stupid because I should be
> doing "..." (please specify a better alternative).
>
> Also note that I am considering extending this to an "external" archive on
> my home system, which is accessible via ssh. So I can set up the repository
> on the url of ssh://[email protected]:/some/path/git/bin.git . I do
> realize that our security people may have a concern about this, so it is
> only a possibility.
>
>
> --
> John McKown
> Systems Engineer IV
> IT
>
> Administrative Services Group
>
> HealthMarkets(r)
>
> 9151 Boulevard 26 * N. Richland Hills * TX 76010
> (817) 255-3225 phone *
> [email protected] * www.HealthMarkets.com
>
> Confidentiality Notice: This e-mail message may contain confidential or
> proprietary information. If you are not the intended recipient, please
> contact the sender by reply e-mail and destroy all copies of the original
> message. HealthMarkets(r) is the brand name for products underwritten and
> issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake
> Life Insurance Company(r), Mid-West National Life Insurance Company of
> TennesseeSM and The MEGA Life and Health Insurance Company.SM
>
> ----------------------------------------------------------------------
> For LINUX-390 subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO LINUX-390 or
> visit
> http://www.marist.edu/htbin/wlvindex?LINUX-390
> ----------------------------------------------------------------------
> For more information on Linux on System z, visit
> http://wiki.linuxvm.org/
>

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390
----------------------------------------------------------------------
For more information on Linux on System z, visit
http://wiki.linuxvm.org/

Reply via email to