Many files can be moved directly on GitHub Enterprise, but some files, such as images, require that you move them from the command line.
This procedure assumes you've already:
- Created a repository on GitHub Enterprise, or have an existing repository owned by someone else you'd like to contribute to
- Cloned the repository locally on your computer
- On your computer, move the file to a new location within the directory that was created locally on your computer when you cloned the repository.
- Open TerminalTerminalGit Bash.
- Use
git status
to check the old and new file locations.$ git status > # On branch your-branch > # Changes not staged for commit: > # (use "git add/rm
..." to update what will be committed) > # (use "git checkout -- ..." to discard changes in working directory) > # > # deleted: /old-folder/image.png > # > # Untracked files: > # (use "git add ..." to include in what will be committed) > # > # /new-folder/image.png > # > # no changes added to commit (use "git add" and/or "git commit -a") - Stage the file for commit to your local repository. This will delete, or
git rm
, the file from the old location and add, orgit add
, the file to the new location.$ git add . # Adds the file to your local repository and stages it for commit. # To unstage a file, use 'git reset HEAD YOUR-FILE'.
- Use
git status
to check the changes staged for commit.$ git status > # On branch your-branch > # Changes to be committed: > # (use "git reset HEAD
..." to unstage) > # > # renamed: /old-folder/image.png -> /new-folder/image.png # Displays the changes staged for commit - Commit the file that you've staged in your local repository.
$ git commit -m "Move file to new directory" # Commits the tracked changes and prepares them to be pushed to a remote repository. # To remove this commit and modify the file, use 'git reset --soft HEAD~1' and commit and add the file again.
- Push the changes in your local repository to your GitHub Enterprise Server instance.
$ git push origin your-branch # Pushes the changes in your local repository up to the remote repository you specified as the origin