Using git add
command becomes tedious once the file path becomes lengthy. For e.g.
git add src_test/com/abc/product/server/datasource/manager/aats/DSManger.java
Is it possible to bypass specifying absolute file path? May be using some kind of pattern or something?
I know that we can use git gui
. But I want to do it using cmd line.
Thanks in advance for the inputs.
I'm not sure if I understand your question.
To add all files (not yet added), use:
If you need to add all but one file, you cold add all, then remove the files using:
You can also add all files in a subdirectory with
One thing that I know can be annoying is when you rename files, you need to add the new filename and git rm the old name. When renaming a directory this can be annoying. This (unix only) git alias solves this problem (put it in your ~/.gitconfig file:
This adds all new files and removes all deleted files and stages it to the index.
With bash, you can set "globstar" (
shopt -s globstar
) and then do:to add all files called DSManager.java present below the current directory.
(
**/
matches all directories and subdirectories.)I believe you can just say "git add DSManger.java" if your terminal window is currently cd into the proper folder (src_test/com/abc/product/server/datasource/manager/aats). So just do:
Otherwise, I can't think of any other way unless you make a separate repo.
Please have a look at this sample bash script which I have created for this purpose. Link to the Github Repo
Sample output
For unix-like systems you can always use the star to point to files, e.g.
will include all DSManager.java files git can find within your source tree starting in your current working directory.
Here is another way to add files. Supported at the very least in git 1.7.1.
Press
2
to select update, or typeu
.Press the number corresponding to the file you want to stage. Separate multiple numbers with a comma, e.g.
1,2
.Just press
[enter]
here.Finally type
7
orq
to quit.