Configuración
$ git config --global user.name " John Doe "
$ git config --global user.email johndoe @ example.com
Creando un repositorio
$ git clone [url] #clonando un repositorio remoto
$ git clone git: //github .com /schacon /grit.git
$ git clone git: //github.com/schacon/grit.git mygrit
$ git clone --bare my_project my_project.git #Create pure Almacén
$ git init # Inicializar repositorio local
$ git init --bare #Crear un repositorio puro
Modificar y enviar
< $ git status #View Status
$ git diff #View Changes
$ git diff --cached #View entre el archivo que se ha guardado temporalmente y la última instantánea que se envió Diferencias
$ git diff master ... contrib #properties branch c La diferencia entre ontrib y su ancestro común con la rama maestra (nuevo código que realmente se introducirá cuando se fusione)
$ git add. # Rastrear todos los archivos modificados
$ git add [ ,null,null,3],Archivo] # Rastrea el archivo especificado
$ git mv [old] [nuevo] # 文件 renombrar
$ git rm [archivo] # 删除 文件
$ git rm - -cached [file] # Deja de rastrear archivos pero no elimina
$ git commit -m " commit message " #Envíe todos los archivos actualizados
$ git commit --amend # 修改 最后Enviar una vez
$ git commit -a -m 'agregó nuevos puntos de referencia' # Omitir compromiso directo del área de preparación
Ver historial de confirmaciones
$ Git log #Ver historial de confirmaciones
$ git log --pretty = oneline
$ git log -p [archivo] # Ver el historial de confirmaciones del archivo especificado
$ git log Maestro ... la experiencia Mnt # Todas las confirmaciones que se pueden obtener de la rama del experimento pero no de la rama maestra
$ git blame [archivo] # Ver el historial de confirmaciones del archivo especificado como una lista
$ git log origin /featureA ^ featureA # Compare las ramas de origin /featureA y featureA para ver lo que el original /featureA ha actualizado
Deshacer
$ git reset --hard HEAD #Undo work Las modificaciones para todos los archivos no confirmados en el directorio
$ git reset --hard [commit] # se volverán a un [commit]
$ git reset HEAD [file] # Cancel Archivo guardado
$ git checkout HEAD [archivo] #Deshacer el contenido modificado del archivo no confirmado especificado [rayado]
$ git checkout - benchmarks.rb # Cancelar el archivo Modificar [Unstaged]
$ git revert [commit] #Deshacer el commit especificado
Ramas y etiquetas
$ git branch #Mostrar todo Sucursal local
$ git checkout [rama /etiqueta] #Cambiar a la rama o etiqueta especificada
$ git checkout -b featureB origen /maestro # Clonar desde el origen de la rama /maestro y crear una función de la ramaB, cambie a featureB
$ git branch [nueva-rama] #Crear una nueva rama
$ git branch sc /ruby_client master #Clone una rama sc /ruby_client desde la rama maestra
$ git Rama -d [rama] #delete rama local
$ git rama - fusionada #Ver qué ramas se han fusionado en la rama actual
$ git rama --no-fusionada #Ver qué ramas No fusionado en la rama actual
etiqueta $ git #Lista todas las etiquetas locales
etiqueta $ git [tagname] #Crear etiquetas basadas en las últimas confirmaciones
etiqueta $ git -d [tagname] # 删除 标签
Merge and Rebase
$ git merge [branch] #Merge la rama especificada a la rama actual
$ git rebase [rama] #Rebase la rama especificada a la rama actual
Operación remota
$ git remoto -v #Vea la información del repositorio remoto
$ git remote show [remote] #Ver información del repositorio remoto especificado
$ git remote add [remote] [url] #add repositorio remoto
$ git remote rename [ ,null,null,3],Antiguo-nombre-remoto] [nombre-nuevo-remoto] #Nombre del repositorio remoto
$ git remote rm [remoto] # eliminación remota del repositorio
$ git fetch [remoto] # Obtenga el código de la biblioteca remota
$ git pull [remoto] [ramificación] # Descargue el código y únalo rápidamente a la sucursal actual
$ git empuje [remoto] [sucursal] # código de carga y fusione rápidamente
$ git push origin featureB [rama local]: featureBee [rama remota] #pulse rama local a la rama remota especificada
$ git push [remoto]: [nombre de rama /etiqueta] # 去除Rama o etiqueta
$ git push --tags #upload all tags
otro
$ git describe master #generate build number
$ git archive master --prefix = 'project /' |
Gzip > 'git describe master'.tar.gz #empaquetado en tar
$ git archive master --prefix =' project /'--format = zip >' git describe master'.zip #package En el código postal $ git stash # 存储
$ git stash list # Ver la lista de almacenamiento
$ git stash aplicar stash @ 2 #Aplique el almacenamiento llamado stash @ 2. Si no lo especifica, Git usa el repositorio más reciente de manera predeterminada e intenta aplicarlo
$ git stash drop stash @ {0} # Eliminar el repositorio llamado stash @ {0}
$ git Culpa -L 12,22 simplegit.rb # 文件 `
Archivo Git
.gitattributes #property file
.doc diff = worddatabase.xml fusionar nuestro =
.gitignore # ignoran ciertos archivos
# esto es un comentario y ndash; Git será ignorada * [OA] #. Ignore todos los archivos que terminan en .o o .a! Lib.a # excepto lib.a excepto /TODO # Ignore los archivos TODO en el directorio raíz del proyecto, excluyendo subdir /TODObuild /# Ignore todos los archivos en el documento build /directory doc /* .txt # ignorará doc /notes.txt pero no doc /server /arch.txt