--- Alias: ["Git repo"] Tag: ["Admin", "Computer", "Cloud", "Privacy"] Date: 2021-08-18 DocType: "Product" Hierarchy: "NonRoot" TimeStamp: 2021-08-18 Product: Type: "IT" Link: "https://git-scm.com/" Value: "Free" CollapseMetaTable: true banner: "![[IMG_1959.jpg]]" banner_icon: 💾 --- Parent:: [[Storage and Syncing]], [[Privacy & Security]], [[Selfhosting]] ---   ```button name Edit Product parameters type command action MetaEdit: Run MetaEdit id EditMetaData ``` ^button-GitHubEdit ```button name Save type command action Save current file id Save ``` ^button-GitHubSave   # Git   ```ad-abstract title: Summary collapse: open Git is a repository of data and files enabling versioning, tracking and syncing working files. It offers public and private repositories and therefore a good solution for syncing files. The tool is predominantly used by developers collaborating but can be used for personal use. ```   ```toc style: number ```   ---   ### Characteristics   Git is a service originally designed for developers to collaborate on code. It offers the following features: - Storage for files & folders - Secure data transfer protocol - Versioning, change tracking - Cross-platform Implementations are aplenty, including GitHub or [[mfxm Website Scope#Git instance|Gitea]].   ---   ### Scripts   This section highlights different scripts to make Git work on different devices.   #### Desktop Git folder is set up through a desktop App (Github, Gitup, else...) and comprises a folder of Git executables. From the Terminal pointing towards the Git folder ```ad-command ~~~ cd /folderpath ~~~ ``` a few actions can be initiated: **Download docs** ```ad-command ~~~ git pull (--rebase) (optional: 'remote name' 'branche name') or git fetch && git merge ~~~ ``` **Upload docs** ```ad-command ~~~ git add --all/'Folder or File name' git commit -m "name of the update for versioning" git push (optional 'remote name' 'branch name') ~~~ ``` **Create a new branch** ```ad-command ~~~ git checkout -b 'branch name' git push origin 'branch name' ~~~ ```   #### iOS iOS offers a simpler solution through [Working Copy](https://workingcopyapp.com), an App to manage Git repositories from an iPhone. Select to sync folders from your phone to your Git repository through the 'Sync Folder' option. The App then syncs on the phone. Any changes need to be committed and pushed to Git through the App.   ---   ### Gitup   In order to pull from remote repo, follow the below steps: - **Pull remote** - Pull all changes from remote - **Reset the local branch** - Discards all local changes ahead of merge - **From remote branch: merge into main**   ---   ### Further steps   - [x] Buy Working Copy Pro (£17.99)   ---   ### Documentation   - [Working Copy User Guide](https://workingcopyapp.com/manual.html#) - [GitHub Help](https://guides.github.com/) - [Gitup docs](https://github.com/git-up/GitUp/wiki)