comandos e aplicativos git

estrutura git

insira a descrição da imagem aqui
insira a descrição da imagem aqui

1. Inicialize o warehouse e gere a pasta .git

git init

2. Adicione à área de armazenamento temporário

git add test1.txt   

-A pode enviar todas as alterações de uma vez

3. Adicionar ao armazém local

git commit –m “第一次提交”

-m é seguido por uma descrição

4. Visualize o status atual do armazém

git status

Adicione uma descrição da imagem

5. Veja a comparação antes e depois do arquivo modificado

git diff test1.txt

Adicione uma descrição da imagem

6. Visualize registros de operação

git log

Adicione uma descrição da imagem
* Verifique o número curto da versão e produza uma linha

git log --oneline --pretty

* Ver diagrama de ramificação

git log --graph

7. Versão de reversão

(1) Volte uma vez
$ git reset --hard HEAD^

Adicione uma descrição da imagem

(2) Reverter duas vezes
$ git reset --hard HEAD^^

Muitas vezes
, é claro, é mais fácil escrever 100 ^ para as 100 versões anteriores, então é escrito como HEAD~100,

(3) Reverter para uma determinada versão de acordo com o número da versão
git reset --hard a0016a25  // 可以不用输全  

8. Como cancelar a reversão

(1) A janela da linha de comando não foi fechada

Após a reversão, se você souber o ID do número da versão enviado antes, poderá voltar antes da reversão, e o ID do número da versão não precisa ser escrito por completo
Adicione uma descrição da imagem

(2) A janela da linha de comando foi fechada
 git reflog 记录你的每一次命令

Adicione uma descrição da imagem

9. Veja a diferença entre a versão mais recente no espaço de trabalho e no repositório

O rastreamento do Git gerencia modificações em vez de arquivos.
O envio de confirmação do Git enviará apenas arquivos na área de armazenamento temporário. Os arquivos na área de armazenamento temporário que não foram enviados não serão salvos no armazém local.

Veja a diferença entre a versão mais recente no espaço de trabalho e o comando do repositório:

git diff HEAD -- test1.txt

10. Desfazer modificação

(1) Se a modificação não tiver sido submetida à área de armazenamento temporário
git checkout -- test1.txt

Adicione uma descrição da imagem

(2) Se a modificação tiver sido submetida à área de armazenamento temporário

Primeiro desfaça a modificação da área de armazenamento temporário

git reset HEAD test1.txt

Adicione uma descrição da imagem

Use a finalização da compra novamente

git checkout -- test1.txt

11. Excluir

O comando rm é para excluir um arquivo no espaço de trabalho.
git rm é para excluir um arquivo e enviar a modificação do arquivo excluído para a área de armazenamento temporário
. É equivalente a git add após excluir o arquivo e, em seguida, salvar a modificação .

capaz de passar

git checkout -- test1.txt

recuperar

12*, conecte-se ao armazém remoto

Semelhante ao gitee github criptografado por ssh durante a transmissão

Etapa 1: Crie uma chave SSH.

No diretório inicial do usuário, verifique se existe um diretório .ssh. Se sim, verifique se existem dois arquivos id_rsa e id_rsa.pub neste diretório. Se você já os possui, pode pular para a próxima etapa. Caso contrário, abra o Shell (abra Git Bash no Windows) e
crie uma chave SSH:

$ ssh-keygen -t rsa -C "[email protected]"

Você precisa substituir o endereço de e-mail pelo seu próprio endereço de e-mail e, em seguida, pressionar Enter até o fim para usar o valor padrão. Como esta chave não é usada para fins militares, não há necessidade de definir uma senha.
Se tudo correr bem, você pode encontrar o diretório .ssh no diretório inicial do usuário, e há dois arquivos id_rsa e id_rsa.pub nele. Esses dois são o par de chaves secretas da chave SSH. id_rsa é a chave privada e não pode ser vazou.id_rsa.pub É a chave pública, você pode contar a qualquer pessoa com confiança .

Passo 2 Tome o gitee como exemplo, basta colar a chave pública

Adicione uma descrição da imagem

A razão pela qual o GitHub precisa da chave SSH
é porque o GitHub precisa identificar que o commit que você enviou foi realmente enviado por você, não pela representação de outra pessoa, e o Git suporta o protocolo SSH, portanto, desde que o GitHub conheça sua chave pública, você pode confirmar isso só você pode empurrar.
Claro, o GitHub permite adicionar várias chaves. Suponha que você tenha vários computadores e envie na empresa por um tempo, e envie em casa por um tempo, contanto que adicione a chave de cada computador ao GitHub, você pode enviar para o GitHub em cada computador.

13*. Associar o armazém remoto ao armazém local (associar ao armazém remoto quando houver um armazém local)

estabelecer associação

(1) Estabelecer a associação do armazém remoto
git remote add origin 仓库ssh地址
(2) Envio de conteúdo
git push -u origin master 

Como a biblioteca remota está vazia, quando enviamos o branch master pela primeira vez, adicionamos o parâmetro -u. O Git não apenas enviará o conteúdo do branch master local para o novo branch master remoto, mas também enviará o master local branch e o remoto O branch master está associado e o comando pode ser simplificado e usado diretamente ao empurrar ou puxar no futuro

git push origin master

Excluir biblioteca remota
Visualize informações da biblioteca remota:

 git remove -v

Adicione uma descrição da imagem

Em seguida, exclua pelo nome

git remote rm origin 仓库名

14*, Clonar de um repositório remoto (criar um repositório remotamente, clonar diretamente, a maioria faz isso)

git clone <http或者ssh地址>

15. Gestão de filiais

(1) Criar branch dev
git checkout -b dev

equivalente a

git branch dev          // 创建
git checkout dev         // 切换

Adicione uma descrição da imagem
commitar branch remoto

git push -u origin master  
git push --set-upstream origin <branch>
(2) Ver filial
git branch

Adicione uma descrição da imagem

(3) Mesclar o branch para mesclar a modificação do desenvolvedor no master

Depois de mudar para master

git merge dev

Adicione uma descrição da imagem

Ao mesclar ramificações, o Git usará o modo Fast forward se possível, mas neste modo, após excluir a ramificação, as informações da ramificação serão perdidas.
Se você deseja desabilitar à força o modo Fast forward, o Git irá gerar um novo commit ao mesclar, para que as informações do branch possam ser vistas no histórico do branch.

Maneiras de desativar o commit expresso

git merge --no-ff feature 

**

(4) Excluir branch dev

excluir filial local

git branch -d dev

excluir filial remota

git push origin --delete <branch>       -d -D

insira a descrição da imagem aqui

O método switch alterna ramificações.
Notamos que a alternância de ramificações usa o nome da ramificação git checkout, enquanto a modificação de desfazer mencionada acima é git checkout – nome do arquivo. O mesmo comando tem duas funções, o que é realmente um pouco confuso.
Na verdade, é mais científico usar switch para a ação de trocar de ramo. Portanto, a versão mais recente do Git fornece um novo comando git switch para alternar ramificações:
para criar e alternar para uma nova ramificação dev, você pode usar:

git switch -c dev

Para mudar diretamente para o branch master existente, você pode usar:

git switch master

16. Empurrar empurrar, puxar puxar (buscar + mesclar)

git pull origin 分支名
git push origin 分支名

17. A razão pela qual .gitignore falha

O diretório ou arquivo é adicionado à regra de ignorar. Após defini-lo de acordo com o método acima, verifica-se que ele não tem efeito. O motivo é que .of.
resolver:

(1) Limpe o cache
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push -u origin master
(2) Exclua os arquivos correspondentes no armazém remoto

18. Sintaxe do gitignore

(1) Regras
空格不匹配任意文件,可作为分隔符,可用反斜杠转义
开头的文件标识注释,可以使用反斜杠进行转义
! 开头的模式标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用 ! 也不会再次被包含。可以使用反斜杠进行转义
/ 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
/ 开始的模式匹配项目跟目录
如果一个模式不包含斜杠,则它匹配相对于当前 .gitignore 文件路径的内容,如果该模式不在 .gitignore 文件中,则相对于项目根目录
** 匹配多级目录,可在开始,中间,结束
? 通用匹配单个字符
* 通用匹配零个或多个字符
[] 通用匹配单个字符列表
(2) Exemplo:
 bin/: 忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
/bin: 忽略根目录下的bin文件
/*.c: 忽略 cat.c,不忽略 build/cat.c
debug/*.obj: 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj
**/foo: 忽略/foo, a/foo, a/b/foo等
a/**/b: 忽略a/b, a/x/b, a/x/y/b等
!/bin/run.sh: 不忽略 bin 目录下的 run.sh 文件
*.log: 忽略所有 .log 文件
config.php: 忽略当前路径的 config.php 文件

19. Passos para resolver conflitos

insira a descrição da imagem aqui

redefinir

insira a descrição da imagem aqui

20. Aplicação de git stash

Ao desenvolver um requisito a sozinho, o desenvolvimento não foi concluído e há um requisito b mais urgente que tem uma prioridade mais alta que a. Agora, porque o requisito existente não foi desenvolvido, então se você não quiser se comprometer uma versão, você pode usar o comando git stash para armazenar em cache e remover o código modificado.

(1)git stash
git stash // 直接缓存,缓存名称为最新一次commit的内容,如果没有本地提交则是拉远程仓库是的commit内容
git stash save "xxx"  // 加上自己的注释进行缓存

stash só funcionará em arquivos rastreados pelo git

Como mostrado na imagem:

a. Primeiro verifique o status do arquivo

insira a descrição da imagem aqui

b. Agora execute o arquivo de armazenamento temporário git stash git stash list para visualizar a lista em cache

insira a descrição da imagem aqui

c. Verifique o status do arquivo novamente e descubra que o arquivo recém-adicionado não foi armazenado em cache e excluído

insira a descrição da imagem aqui


Conclusão: o arquivo recém-adicionado após o stash não entra no cache. Isso ocorre porque o git não rastreou o arquivo recém-adicionado. Você precisa executar git add <nome do arquivo> para permitir que o git rastreie esse arquivo e, em seguida, executar stash para operar o novo arquivo.

(2) lista de estoque git

retornar lista em cache

(3) git stash pop

Coloque o conteúdo mais recente na pilha e aplique-o à ramificação atual e exclua os registros no heap.
Pop exclui o cache na pilha
. Se o conteúdo exibido entrar em conflito, o git interromperá o pop e informará que você precisa entrar em conflito Solução
Você também pode especificar os registros na pilha adicionando o nome em git stash list após git stash pop

git stash pop stash@{0}
(4) git stash aplicar

Semelhante ao pop, mas não excluirá esse cache na pilha , adequado para armazenar aplicativos em cache em várias ramificações
e também pode ser especificado

git stash apply stash@{0}
(5) git stash drop/git stash limpo

excluir cache

git stash drop [名]   // 删除单个缓存 举例git stash drop stash@{0}
git stash clear    // 全清
(7)git stash show

git stash show [nome] // mostra a diferença com o branch atual

git stash show stash
(8) ramo git stash

Especifique o cache mais recente para criar uma ramificação


21. Altere o endereço do armazém remoto do armazém local atual

git remote set-url origin <远程仓库地址>

Acho que você gosta

Origin blog.csdn.net/m0_72791534/article/details/127115846
Recomendado
Clasificación