I'm working on a large closed-source project. For one of clients, I had to create a library that consists of some directories from original project, and even within these directories, not all files are used for the library. On top of that, I've added some files specific for this library, in separate directories and in the library repo top-level directory. Most of files from original project are unchanged, and for some, I had to make some small changes (mostly to exclude dependencies on other stuff from the original project). We're now switching to Git from another VCS, and I'm wondering is there any way to automatically "link" those pieces from the main project repo into my library repo? So far, I would run update in the main project repo, check is any of files that I'm using in library changed, and if so, then I would either copy the new version of given file into the library (if given file unchanged for the library), or merge updates manually (if given file is one of these files that are slightly changed for the library), and then commit all these changes in the library repo. None of changes in the library will ever go back into the main project, i.e. the flow of updates is uni-directional here. So, any support in Git to automate the procedure of updating the library with the changes made for corresponding files in the main project? Thanks.