Подробное руководство по управлению проектами GitHub/руководство по git [с изображениями и кодом]

Прежде чем использовать GitHub для управления проектами,Во-первых, вам необходимо создать склад самостоятельно. Если вы используете его самостоятельно, вы можете сделать его частным.

1. Основные операции Git

В Git обычно используются следующие 6 команд: git clone, git push, git add, git commit, git checkout и git pull, которые будут подробно представлены позже.
Вставьте сюда описание изображения
Общие команды следующие:

  • git добавить
git add # 添加文件到暂存区
(git add . 添加当前目录下的所有文件到暂存区)
  • git-статус
git status	#查看仓库当前的状态,显示有变更的文件。
(一般有参数 -s 来获得简短的输出结果:git status -s)
  • git diff
git diff	#比较文件的不同,即暂存区和工作区的差异。
(尚未缓存的改动:git diff
查看已缓存的改动: git diff --cached
查看已缓存的与未缓存的所有改动:git diff HEAD
显示摘要而非整个 diff:git diff --stat
)
  • git совершить коммит
git commit	#提交暂存区到本地仓库。
(一般有参数 -m [message] 可以是一些备注信息,
和-a 参数设置修改文件后不需要执行 git add 命令,直接来提交
例如git commit -am '修改 hello.php 文件' #可以省略git add 操作
  • git сброс (можно использовать для очистки файлов в области кеша [git add])
git reset	#回退版本。
(语法格式如下:
git reset [--soft | --mixed | --hard] [HEAD]
--mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
--soft 参数用于回退到某个版本。
--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。注意:谨慎使用 –-hard 参数,它会删除回退点之前的所有信息。
HEAD 说明:
	HEAD 表示当前版本
	HEAD^ 上一个版本
	HEAD^^ 上上一个版本
	HEAD^^^ 上上上一个版本
	以此类推...
可以使用 ~数字表示
	HEAD~0 表示当前版本
	HEAD~1 上一个版本
	HEAD^2 上上一个版本
	HEAD^3 上上上一个版本
	以此类推...
例如:
$ git reset HEAD^            # 回退所有内容到上一个版本  
$ git reset HEAD^ hello.php  # 回退 hello.php 文件的版本到上一个版本  
$ git  reset  052e           # 回退到指定版本
  • мерзавец РМ
git rm	#将文件从暂存区和工作区中删除。
(例如
将文件从暂存区和工作区中删除:
git rm <file>
git rm runoob.txt 
如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。
强行从暂存区和工作区中删除修改后的 runoob.txt 文件:
git rm -f runoob.txt 
如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可:
git rm --cached <file>
git rm --cached runoob.txt
可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件:
git rm –r *

git mv #Переместить или переименовать файлы рабочей области.
git log #Просмотр записей исторических коммитов
git виноват #Просмотр записей исторических изменений указанного файла в виде списка
git Remote #Операция с удаленным складом
git fetch #Получить библиотеку кода с удаленного устройства git
pull #Загрузить удаленный код и объединить его
git push # Загрузите удаленный код и объедините его

2. Конфигурация Git

git config имеет три каталога:

  • /etc/gitconfigФайл: Конфигурация системы, общая для всех пользователей. Если вы используете опцию --system при использовании git config, этот файл будет прочитан и записан.
  • ~/.gitconfigФайл: файлы конфигурации в каталоге пользователя применимы только к этому пользователю. Если вы используете опцию --global при использовании git config, этот файл будет прочитан и записан.
  • Файлы конфигурации в каталоге Git текущего проекта (то есть файлы в рабочем каталоге .git/config): Конфигурация здесь действительна только для текущего проекта. Конфигурация на каждом уровне перезапишет ту же конфигурацию на верхнем уровне, поэтому .git/configконфигурация в перезапишет /etc/gitconfigпеременную с тем же именем в .

1. Настройте личное имя пользователя и адрес электронной почты.

git config --global user.name "runoob"
git config --global user.email test@runoob.com

Если используется этот параметр --global, измененный файл конфигурации находится в домашнем каталоге вашего пользователя. Все ваши будущие проекты будут использовать информацию о пользователе, настроенную здесь по умолчанию.

Если вы хотите использовать другое имя или адрес электронной почты для определенного проекта去掉 --global 选项 , просто перенастройте его, и новые настройки будут сохранены в файле .git/config текущего проекта.

2. Просмотр информации о конфигурации

Чтобы проверить существующую информацию о конфигурации, вы можете использовать git config --listкоманду:

$ git config --list
http.postbuffer=2M
user.name=runoob
user.email=test@runoob.com

vim ~/.gitconfigВы также можете просмотреть и изменить его самостоятельно.

3. Рабочая область Git, промежуточная область и репозиторий.

  • 工作区: это каталог, который вы можете видеть на своем компьютере.
  • 暂存区: По-английски это называется stage или index. Обычно он хранится в индексном файле ( ) в каталоге .git .git/index, поэтому мы иногда называем область временного хранения индексом (index).
  • 版本库: В рабочей области есть скрытый каталог .git. Это не рабочая область, а репозиторий Git.

На следующем рисунке показана взаимосвязь между рабочей областью, промежуточной областью в репозитории и самим репозиторием:
Вставьте сюда описание изображения

  • Левая часть изображения — это рабочая область, а правая — библиотека версий. Область с пометкой «индекс» в репозитории является промежуточной областью (этап/индекс), а область с пометкой «главный» — это дерево каталогов, представленное основной веткой.

  • На рисунке мы видим, что «HEAD» в данный момент на самом деле является «курсором», указывающим на главную ветку. Поэтому там, где в команде, показанной на рисунке, появляется HEAD, его можно заменить на master.

  • Область, обозначенная объектами на рисунке, — это библиотека объектов Git, которая фактически расположена в каталоге «.git/objects» и содержит различные созданные объекты и контент.

  • Когда команда выполняется над файлом, измененным (или добавленным) в рабочей области git add, дерево каталогов области временного хранения обновляется, и в то же время содержимое файла, измененного (или добавленного) в рабочей области, записывается в новый объект в библиотеке объектов, и идентификатор объекта записывается в индекс файла области временного хранения.

  • При выполнении операции фиксации (git commit) дерево каталогов области временного хранения записывается в библиотеку версий (библиотеку объектов), и основная ветка будет соответствующим образом обновлена. То есть дерево каталогов, указанное мастером, является деревом каталогов области временного хранения во время отправки.

  • При выполнении команды git reset HEAD дерево каталогов в промежуточной области будет перезаписано и заменено деревом каталогов, на которое указывает главная ветвь, но рабочая область не будет затронута.

  • При выполнении команды git rm --cached <file>файл будет удален непосредственно из области временного хранения, а рабочая область не изменится.

  • При выполнении команды git checkout . или git checkout -- <file>файлы в рабочей области будут заменены всеми или указанными файлами во временной области хранения. Эта операция опасна и приведет к удалению изменений в рабочей области, которые не были добавлены в промежуточную область.

  • При выполнении команды git checkout HEAD .или git checkout HEAD <file> файлы в промежуточной и рабочей области будут заменены всеми или частью файлов в основной ветке, на которую указывает HEAD. Эта команда также чрезвычайно опасна, поскольку она не только удаляет незафиксированные изменения в рабочей области, но и очищает незафиксированные изменения в промежуточной области.

4. Загрузите свой проект в репозиторий GitHub.

первый

git remote add origin https://github.com/zhouzikang/test1.git
git branch -M main
git push -u origin main

Обратите внимание на то, чтобы изменить его на адрес вашего собственного проекта GitHub.
Если это так error: remote origin already exists., вы можете использовать:

git remote rm origin

второй раз

git add .
git commit -m "修改说明"
git push

работа филиала

  • В git вы можете использовать следующую команду для просмотра ветвей.
git branch # 查看所有本地分支
git branch -a # 同时查看远程分支
git branch -r # 只查看远程分支
git branch -av # 查看所有分支(本地和远程)并且标识当前正在使用的分支
git branch -avv # 查看所有分支(本地和远程)并且标识当前正在使用的分支,并且列出最后一次提交的信息
  • Команда создания ветки:
git branch (branchname)
# 例如
$ git branch testing
  • Команда переключения ветки:
git checkout (branchname)
# 例如
$ git checkout testing
Switched to branch 'testing'

Когда вы переключаете ветки, Git заменит содержимое вашего рабочего каталога последним зафиксированным снимком этой ветки, поэтому для нескольких ветвей не требуется несколько каталогов.

Мы также можем использовать команду git checkout -b (имя ветки), чтобы создать новую ветку и немедленно переключиться на нее для работы в ветке.

$ git checkout -b newtest
Switched to a new branch 'newtest'
  • Команда объединения веток:
git merge 

Конфликты слияния .
Слияние — это не просто простая операция добавления и удаления файлов, Git также объединяет модификации.

  • Команда удаления ветки:
git branch -d (branchname)
# 例如
$ git branch -d testing
Deleted branch testing (was 85fc7e7).

рекомендация

отblog.csdn.net/qq_45934285/article/details/132599534