Re: [git-users] Re: Getting the list of files which are changed

2015-04-22 Thread Magnus Therning
On 22 April 2015 at 06:07, Tanveer Malik tanmalik...@gmail.com wrote:
 Ahh sorry, if I was not very clear in my question. What actually I am
 looking for is a way to get the working copies of the files different from
 its parent branch e.g., I create a branch 'develop' from 'master', then work
 on files say style.css and on another file called abc.php. Now I want a way
 to get only these two files [style.css, abc.php] in the working directory.

Just to clarify:

You have a repo with a branch called `master`.  When checking it out you get

- style.css
- abc.php
- foo.php and a bunch of other files that make up the rest of your project

then you want to create a branch, `develop`, and when you check it out
you only want to get the two files

- style.css
- abc.php

is that a correct understanding?

I haven't used it myself, but I suspect what you are looking for is
called sparse checkout.  A search for git sparse checkout leads to
quite a few explanations of it.

/M

-- 
Magnus Therning  OpenPGP: 0xAB4DFBA4
email: mag...@therning.org   jabber: mag...@therning.org
twitter: magthe   http://therning.org/magnus

-- 
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] Re: Getting the list of files which are changed

2015-04-22 Thread Konstantin Khomoutov
On Tue, 21 Apr 2015 21:07:52 -0700 (PDT)
Tanveer Malik tanmalik...@gmail.com wrote:

 Ahh sorry, if I was not very clear in my question. What actually I am 
 looking for is a way to get the working copies of the files different
 from its parent branch e.g., I create a branch 'develop' from
 'master', then work on files say style.css and on another file called
 abc.php. Now I want a way to get only these two files [style.css,
 abc.php] in the working directory.

`git show` does that.

For instance, you're working on develop but would like to get the
contents of a file main.css as it's currently on master.
If so, you'd use

  git show master:main.css

to get the contents of main.css on master printed.

If you want to actually save it somewhere (it seems, you do), redirect
the output:

  git show master:main.css  whatever.css

If you redirect the output to main.css as well, its content will be
overwritten with the contents of main.css on master -- effectively
as if you've checked out that single file from master.

Consequently, `git checkout` can do that as well ;-)
To replace the contents of a checked out file with its contents in
another revision, do

  git checkout revision pathname1 pathname2 ...

for instance, you could do

  git chekcout master main.css


Please note that all these examples assume the file named main.css is
in the root directory of the repository (and the work tree), that is,
at the top level.  If it's in a subdirectory (or deeper), you should
specify that part of a pathname as well, for instance:

  git show master:assets/styles/main.css
  git checkout master^3:assets/scripts/lib/jquery-min.js

-- 
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.