Além de alterar o local do arquivo, você também pode atualizar o conteúdo do arquivo ou dar a ele um novo nome no mesmo commit.
Transferindo um arquivo para um novo local em GitHub
Tip
- Se você tentar mover um arquivo em um repositório ao qual não tem acesso, criaremos um fork do projeto na sua conta pessoal e ajudaremos você a enviar uma solicitação de pull para o repositório original após o commit da alteração.
- Alguns arquivos, como imagens, exigem que você os mova com a linha de comando. Para saber mais, confira Movendo um arquivo para um novo local.
- Se um repositório tiver algum branch protegido, você não poderá editar ou enviar arquivos no branch protegido usando o GitHub. Você pode usar GitHub Desktop para mover suas alterações para um novo branch e fazer commit das mesmas. Para obter mais informações, confira "Sobre branches protegidos" e "Fazer commit e revisar as alterações no seu projeto no GitHub Desktop."
- No repositório, navegue até o arquivo que deseja mover.
- No canto superior direito da exibição de arquivo, clique em para abrir o editor de arquivos.
Note
Em vez de editar o arquivo e fazer commit dele usando o editor de arquivos padrão, você pode optar por usar o editor de código github.dev selecionando o menu suspenso e clicando em github.dev. Você também pode clonar o repositório e editar o arquivo localmente por meio de GitHub Desktop clicando em GitHub Desktop .
-
No campo Nome de arquivo, mude o nome do arquivo usando estas diretrizes:
- Para mover o arquivo para uma subpasta, digite o nome da pasta desejada, seguido de
/
. Sua nova pasta é um novo item na navegação estrutural. - Para mover o arquivo para um diretório acima do local atual do arquivo, posicione o cursor no início do campo de nome do arquivo e digite
../
para subir um nível de diretório completo ou digite a chavebackspace
para editar o nome da pasta pai.
- Para mover o arquivo para uma subpasta, digite o nome da pasta desejada, seguido de
-
Clique em Fazer commit das alterações...
-
No campo "Mensagem do commit", digite uma mensagem curta e relevante que descreva a alteração que você fez no arquivo. Você pode atribuir o commit a mais de um autor na mensagem de commit. Para obter mais informações, confira "Criar um commit com vários autores".
-
Abaixo dos campos de mensagem do commit, opte por adicionar o commit ao branch atual ou a um novo branch. Se seu branch atual for o branch-padrão, você deverá optar por criar um novo branch para seu commit e, em seguida, criar um pull request. Para obter mais informações, confira "Como criar uma solicitação de pull".
-
Clique em Fazer commit de alterações ou em Propor alterações.
Mover um arquivo para um novo local usando a linha de comando
Você pode usar a linha de comando para mover arquivos dentro de um repositório, removendo o arquivo do local antigo e adicionando-o ao novo local.
Muitos arquivos podem ser movidos diretamente no GitHub, mas alguns arquivos, como imagens, exigem que você os mova por meio da linha de comando.
Esse procedimento pressupõe que você já:
- Tenha criado um repositório no GitHub ou já tenha um repositório pertencente a outra pessoa no qual deseja contribuir
- Tenha clonado o repositório localmente no computador
-
No seu computador, mova o arquivo para a nova localização dentro do diretório que foi criado localmente em seu computador quando você clonou o repositório.
-
Abra TerminalTerminalGit Bash.
-
Use
git status
para verificar os locais de arquivo antigos e novos.$ git status > # On branch YOUR-BRANCH > # Changes not staged for commit: > # (use "git add/rm <file>..." to update what will be committed) > # (use "git checkout -- <file>..." to discard changes in working directory) > # > # deleted: /OLD-FOLDER/IMAGE.PNG > # > # Untracked files: > # (use "git add <file>..." to include in what will be committed) > # > # /NEW-FOLDER/IMAGE.PNG > # > # no changes added to commit (use "git add" and/or "git commit -a")
-
Prepare a arquivo para commit em seu repositório local. Isso excluirá, ou
git rm
, o arquivo do local antigo e adicionará, ougit add
, o arquivo ao novo local.$ git add . # Adds the file to your local repository and stages it for commit. # Para cancelar o preparo de um arquivo, use 'git reset HEAD ARQUIVO'.
-
Use
git status
para verificar as alterações preparadas para o commit.$ git status > # On branch YOUR-BRANCH > # Changes to be committed: > # (use "git reset HEAD <file>..." to unstage) > # > # renamed: /old-folder/image.png -> /new-folder/image.png # Displays the changes staged for commit
-
Faça commit do arquivo que você preparou no repositório local.
$ git commit -m "Move file to new directory" # Commits the tracked changes and prepares them to be pushed to a remote repository. # Para remover esse commit e modificar o arquivo, use "git reset --soft HEAD~1", faça o commit e adicione o arquivo novamente.
-
Efetue push das alterações no repositório local para o GitHub.com.
$ git push origin YOUR_BRANCH # Pushes the changes in your local repository up to the remote repository you specified as the origin