0

I've recently started work on an existing project that wasn't using a version control system. I've used Subversion extensively, but management wanted to use Git. I am learning it, and learning to love it. For my own sanity, I created a Git repository on my Windows 7 machine based on the files I downloaded from the development environment (Linux) that had been set up for me. I was happily committing changes to master, but found that I had to frequently change my development priorities. I realized that branching was the best way to go to accommodate that. I've adopted "A successful Git branching model", and I am liking it so far.

CHALLENGES

One: The project has symbolic links that are now broken in my local Git repository. I want to fix them, properly getting them into the Git repository. I have tar archives available of the production code, but I don't know how to accomplish a sane merge of that. On Windows I use WinMerge but that doesn't preserve the symbolic links. Once I have the repository set up on my development server, do I simply abandon commits from my Windows machine and only pull from the server?

Two: The project has a file path that goes all the way to the file system root. I've seen some articles about people using Git for versioning config files and having a repository at the file system root, but I haven't seen a good example of a .gitignore file that would make this as painless as possible. What's a good course of action for this?


UPDATE TO #2

These rules are accomplishing what I need:

/*                       # ignore everything in root by default
!.gitignore              # allow this file
!/library                # allow library
!/home                   # allow user directories
/home/*                  # not every user
!/home/user              # just this user
/home/user/*             # not all the user's files
!/home/user/public_html  # just the public_html files
!/home/user/www          # symbolic link to public_html
Sonny
  • 8,204
  • 7
  • 63
  • 134

0 Answers0