Вот например, я залил тестовый проект, сделал три коммита и зарелизил.
К релизу прекрепилось описание только последнего коммита.
Потом я сделаю еще коммиты с релзами. Раумеется, релизить буду не после каждого коммита. Или надо после каждого? Потом я захочу скачать и посмотреть исходники какой-нибудь старой версии и, допустим, скомпилировать её (не меняя код). Как это сделать?
Можно даже менять ) Точнее не саму эту версию/коммит (так тоже можно, но не желательно, разве что случайно оставил там какую-то секретную инфу и т.д.), а создать там ветку, например, 1.0.x, и добавить новые коммиты туда, зарелезить эту ветку как 1.0.1. Так делают если надо выпустить исправления к старой версии, когда новая (1.1 или 2.0) еще в разработке, или если кто-то хочет продолжить сидеть на 1.х потому что в 2.х например убрали поддержку чего-нибудь или всё сильно поменяли.
Можно посмотреть что поменялось между тегами или просто любыми коммитами (по их хешу или его началу, типа 7131022. Кстати, по табу можно автодополнять, по крайней мере на линуксе: написал git log 1.0.0, нажал TAB, и оно допишет -test. Если нажать после 1., то дополнит до 1.0. и при повторном нажатии выведет варанты).
git log 1.0.0-test..1.0.1-test
commit 7131022d14132603faa4252915a5a0715b9cd771 (HEAD -> master, tag: 1.0.1-test, origin/master, origin/HEAD)
Author: BlackRain <masaraksh86@mail.ru>
Date: Mon Aug 16 17:33:25 2021 +0700
Добавлен метод Decremental()
commit d932f363f5e840c0ec73dd7029bf1e38fd335bc4
Author: BlackRain <masaraksh86@mail.ru>
Date: Mon Aug 16 17:29:28 2021 +0700
Изменён метод Factorials()
git diff 1.0.0-test 1.0.1-test
diff --git a/TestProject1/Program.cs b/TestProject1/Program.cs
index 7ee68a8..124c4ab 100644
--- a/TestProject1/Program.cs
+++ b/TestProject1/Program.cs
@@ -24,6 +24,16 @@ namespace TestProject1
Console.WriteLine(Environment.NewLine);
}
+
+ private static void Decremental(int max)
+ {
+ for (int i = max; i >= 0; i--)
+ {
+ Console.Write($"{i} ");
+ }
+ Console.WriteLine(Environment.NewLine);
+ }
+
private static void Factorials(int max)
{
if (max > 50)
@@ -31,7 +41,7 @@ namespace TestProject1
max = 50;
}
long n = 1;
- for (int i = 1; i <= max; i++)
+ for (int i = 1; i <= max; i += 2)
{
Console.Write($"{n *= i} ");
}
@@ -43,6 +53,7 @@ namespace TestProject1
Factorials(40);
RandomSequence(40, 100);
Incremental(200);
+ Decremental(200);
Console.ReadLine();
}
}
Может быть надо git pull или git fetch --tags.
После просто git clone ...... всё есть.
А какой смысл выводить в тэгах и под релизом только последний (некликабельный) коммит?
Это похоже на комментарий, но я его не писал.
Это, вроде, в винде ещё хз когда было. Можно сказать, стандартный функционал консоли. Но работает только с файлами/папками из текущей директории, если вы об этом. А с гитом, наверное, не прокатит. Но консоль гита это не консоль винды, вроде. Это отдельный ехе-шник. Так что, тоже должно, наверное
p.s. Нет, нифига
Тег привязан к коммиту, так что вот и показывает что было в том коммите.
Показывать все коммиты между тегами тут не особо вариант, теги могут использоваться не только для релизов. Хотя гитхаб наверно мог бы быть достаточно умным, чтоб это разобрать )
Понятно. Значит, это нормально.
А если я залил проект через студию, а потом удалил на сайте (потому что подумал, что опять что-то не так сделал). Как теперь его снова залить?
Если весь репозиторий удален кнопкой в его настройках на сайте, то на сайте.
Ну и потом если имя нового другое, то в студии где-то поменять адрес репозитория (часто называется origin).
ещё вопрос.
А если мне, вдруг, приспичит написать один и тот же проект на разных языках. Ничего серьёзного, а просто какая-нибудь банальщина, типа hello-world-C#hello-world-javahello-world-cpp или где шарик туда-сюда будет бегать.
Как тогда разделять такие одинаковые проекты?