jayunit100
jayunit100

Reputation: 17650

Git file is beyond a symbolic link

I've ran into an issue wherein Git believes that a file is beyond a symbolic link, and that, thus, it cannot be version controlled, but it appears to be a real file.

[root@r1 h]# stat -f conf/core-site.xml 
  File: "conf/core-site.xml"
    ID: 5c7eb82882a6e866 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 2735511    Free: 510158     Available: 371202
Inodes: Total: 694960     Free: 597972

Additionally, I've tried "readlink" to show the link pointer, but to no avail.

How does Git determine if a file is a symbolic link or not?

Upvotes: 20

Views: 32749

Answers (4)

Mahmoud Albelbeisi
Mahmoud Albelbeisi

Reputation: 51

If you are using a GUI for Git, please do git add . in command line before committing it in the GitHub GUI or SourceTree.

Upvotes: 4

Youth overturn
Youth overturn

Reputation: 427

I meet the problem when I want to modify a file in node_modules of js project. Lastly I place an effective file in my js folder and reference it. I remove the original module dependency.

Upvotes: 0

Thara Perera
Thara Perera

Reputation: 604

/project/subproject/conf

If you need to add the /conf into the main project and add symlinks for subprojects,

  1. Remove conf from subproject and add to the project, and commit changes.
$ cp /project/subproject/conf /project
$ rm /project/subproject/conf
$ commit changes    
  1. Then add the symlink and commit
$ cd /project/subproject/
$ ln -s ../conf/ conf
$ commit changes

Upvotes: 7

GNUton
GNUton

Reputation: 1332

Git shows that message for a file /this/is/my/file in case any of the dirs in the path or the file itself are symlinks. In your case the file is real, but maybe "conf" dir is a symlink.

Solution: find the right path for the file and run git add on the real file

Upvotes: 1

Related Questions