Or, perhaps you don't want any submodules at all. In this case, you will need to remove the client/.git folder (or move it elsewhere). This will destroy (or move elsewhere) the entire repository containing the client. You will, however, retain any working tree files from that repository. Now that the inner repository is gone, those working-tree files can be git add-ed to what was the superproject. These files will have named like client/main.js and Git will create a client/ folder and extract them to files named main.js and the like within that client/ folder.
Currently, inside git-data/repositories/@hashed is where you should be expecting the files. The hased git folder does not show your files directly but only the files for the git repo, which means you cannot and should not change your usual files in that folder. You can get the content of that folder by running: git clone path/to/your/hashed.git, make the changes and push them back.
Since I wanted to setup a git hook, I logged into my CentOS VM and checked the repositiories in /var/opt/gitlab/git-data and found @hashed folder is appearing. But i couldn't find any other folders in that location. Can anyone advice??
We have implemented standard features that depend on configuration files in the .gitlab/ directory. You can find .gitlab/ in various GitLab repositories.When implementing new features, refer to these existing features to avoid conflicts:
Thank you for the extensive and detailed reply @dnsmichi . Using it, i verified my understanding by running a du -sh command on the git-data/repositories directory before and after a bunch of commits and pushes to my repo. I saw the size go up a logical amount of kilobytes. I then used the find command to recursively search that directory for the most recent updated files and indeed, I saw a bunch of files with long hex names corresponding to my commit times, all under the gitaly folder. So, this was good enough for my sanity check that i moved the default repository storage folder correctly, and for my own understanding. And of course, my git clone is working properly on all my clients and I can see all my branches, tags, and files. Thank you!
Hi @antc! It looks like the option to upload folders via the UI is a feature request. You should feel free to add this here, so that the right Product Managers can see the need for this!
Yes, such a feature will be very useful, as with increasing number of micro-services projects, each folder could potentially become a Microservices or a module which should be controlled by a owner across limited number of developer
Even Google maintains their repo in this way with a Tree kind of folder structure, where each folder is owned and controlled by a specific owner, while all their employees continue to be maintaining a single Repo (monorepo)
Second, let's take a look at the $CI_COMMIT_SHA folder and its purpose. If you have looked carefully (or searched it into the current page), you may have seen that we are cloning the Git repository in this folder, as we cannot clone it into an already cloned directory.
This folder could have been named anything, but to be sure to be unique, I chose to take this variable. I am pretty sure that no project will have a directory named something like 73d571ffcbd5adbjdb0eegfe2a88bc70df7d9326. ?
You will then need to connect this directory to your remote repository by creating a new project following the instructions above. Once you have your new project, open its homepage and scroll down to Push an existing folder. You will find a command there that starts with git remote add.
For this tutorial you need to have a Git client installed on your computer, and a project cloned (e.g. with TortoiseGit). The Git Client also includes a Git Shell on Windows, which is required for this tutorial. To start the Git Shell, right-click on the folder containing the project in Explorer and select "Git Bash here". This will open the Git Bash with the path set.
After entering these commands, return to the gitlab webpage and refresh your project. You will now see that the instructions for creating a new project have gone and the commit message you just entered is shown on the top.
7c6cff6d22