[kwlug-disc] Advanced(?) Git usage question

John Johnson jvj at golden.net
Wed Apr 16 22:16:05 EDT 2014


The question below (re: git 'pull' of a specific file [w/o overwriting 
current]) remains at least for me, open.

But I now, have one or more advanced (I think) questions.

My environment: Windows XP on one PC. Linux Ubuntu on another. The Linux 
PC is the intended the deployment target.
Development is on the Windows XP PC under XAMPP. Git for Windows is 
installed on the Windows PC. (Not yet on the Linux PC.)

It had to happen. Somewhere in the past couple of days, and after a few 
Git commits things went sideways.
And I find myself having to do, what I call a 'rewind', i.e. a git 
branch to an earlier commit (maybe more than one branch).

A week or two ago, the Master was branched to newBranch, which became 
the main development path. The Master is now dated and useless.
(newBranch? OK OK so I am not very creative with the naming!)

And now, while under the branch newBranch, I have executed one or more 
commands like:
$ git checkout -b rewind_f9a4506 f9a4506
Where f9a4506 is the git assigned commit ID.
(rewind_f9a4506? Again, I am not being creative with the branch naming, 
but at least this one carries more information than 'newBranch'.)

When the branch command is executed I see the message:
Switched to a new branch 'rewind_f9a4506'

This is all well and good in the Git bash window.

And I can, for various reasons, navigate between the branches with the 
commands:
$ git checkout newBranch
$ git checkout rewind_f9a4506
$ git checkout rewind_ad95724
(Note: I am exploring and have done no mods or commits in these branches.)

It appears that when XAMPP and using FF,  /localhost/projectName/ into 
the browsers address bar brings up the index.php for the branch 
currently active in the Git bash window.

Is this a correct assumption?
I can understand the 'view' of the files as given through the Git bash 
window. But I am not clear as to how Windows apps, e.g. a text editor, 
and XAMPP find the files associated with the branch currently active in 
he Git bash window.

What happens if I have modified a file in one of the branches?
Say it is a file accessible through FF with 
/localhost/projectName/indexTest.php

I have not yet got to the stage where I will update the Master or 
newBranch with one of the branches.
Or create and update a remote repo, i.e. on the Linux PC.

As said earlier: tips / comments / guidelines / advice / etc. from those 
who have gone before me are welcome.

Thanks
John Johnson

On 2014-04-16 11:33, John Johnson wrote:
> This is definitely, not an an "advanced" question.
> But it is one for which I could not an answer on the Google or in Git 
> tuts.
>
> Using Git, can one, without creating a branch, pull a file from an 
> earlier commit?
> And (asking a lot) store the pulled file in a place other than the 
> current working directory?
>
> Unless I need to do some more reading, git commands, revert pull and 
> checkout all seem to operate on the repo as a whole and not on 
> individual files.
>
> Tips / comments / guidelines / advice / etc. from those who have gone 
> before me are welcome.
>
> Thanks
> JohnJ
>
>
>
> On 2014-04-15 21:44, Chris Frey wrote:
>> On Tue, Apr 15, 2014 at 08:47:41PM -0400, John Johnson wrote:
>>    
>>> A tip on Git that I read somewhere was to develop a consistent style
>>> in the git commit messages, e.g. git -am [message text], so as to
>>> make subsequent searches easier. For example, if one was using an
>>> issue tracking system with issues SCR 1024 SCR 2031 SCR 112 being
>>> active and the commit was to combine repairs that addressed these
>>> issues, the commit message could be: git commit -am "issues: SCR
>>> 1024 SCR 2031 SCR 112" or similar.
>>>      
>> That "git commit -am" worries me. :-)  My usual process is:
>>
>> 	git add -p
>> 	git commit	# with editor
>>
>> This allows more detailed commit messages than just a single line.
>> And the git-add with '-p' makes sure you only commit the changes you
>> intend.  You can also break your current workspace into multiple
>> commits, making them small and logical.
>>
>> Also, in git, the first line is special, as you probably know.
>> But there exists a --grep option in commands such as git-log, for
>> searching commit messages.  For example, if your commit message said:
>>
>> 	driver: fixed off-by-one error in buffer init
>>
>> 	Changed code to use sizeof() instead of hard coded value.
>>
>> 	Fixes SCR 1024, SCR 2031, SCR 112
>>
>> Now, if you do:
>>
>> 	git shortlog
>>
>> you get a nice brief description of your changes, yet you still have
>> your bug tracking IDs in the commits, so that this is possible:
>>
>> 	git log --grep="SCR 2031"
>>
>> - Chris
>>
>>
>>
>> _______________________________________________
>> kwlug-disc mailing list
>> kwlug-disc at kwlug.org
>> http://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org
>>
>>
>> -----
>>
>> Checked by AVG -www.avg.com
>> Version: 2014.0.4355 / Virus Database: 3882/7345 - Release Date: 04/14/14
>>
>>
>>    
>
>
> _______________________________________________
> kwlug-disc mailing list
> kwlug-disc at kwlug.org
> http://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org
>    
>
>
>
> Checked by AVG - www.avg.com <http://www.avg.com>
> Version: 2014.0.4355 / Virus Database: 3882/7349 - Release Date: 04/15/14
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://kwlug.org/pipermail/kwlug-disc_kwlug.org/attachments/20140416/b8cfd1bd/attachment.htm>


More information about the kwlug-disc mailing list