diff --git a/readme.md b/readme.md index ffe6036..cda28f5 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,56 @@ ***GIT*** + git sudo apt-get install git + +auto LF CRLF + + git config core.autocrlf false + +[https://stackoverflow.com/questions/1967370/git-replacing-lf-with-crlf ](https://stackoverflow.com/questions/1967370/git-replacing-lf-with-crlf) + +`warning: LF will be replaced by CRLF in .gitignore. +The file will have its original line endings in your working directory +warning: LF will be replaced by CRLF in pom.xml. +The file will have its original line endings in your working directory +warning: LF will be replaced by CRLF in src/main/java/com/pgcompany/Main.java. +The file will have its original line endings in your working directory` + + +# Команды + + echo "# geekbrains-java" >> README.md + git init + git add README.md + git commit -m "first commit" + git branch -M main + git remote add origin https://github.com/ALCCoder/geekbrains-java.git + git push -u origin main + +Флаг **_-u_** в команде git push -u origin main является сокращением от --set-upstream. Этот флаг выполняет две важные функции: + +1) Запушит изменения в удалённый репозиторий: +Команда git push отправляет изменения из вашего локального репозитория в удалённый репозиторий (в данном случае в ветку main на origin). + +2) Устанавливает связь между локальной и удалённой веткой: + +**Флаг** **_-u_** связывает текущую локальную ветку (например, main) с удалённой веткой (например, origin/main). После этого Git запоминает эту связь, +и в будущем вы сможете использовать просто git push или git pull без указания удалённого репозитория и ветки, +так как Git будет знать, куда отправлять или откуда забирать изменения. + +3) **Флаг -M** в команде git branch -M main используется для принудительного переименования ветки, даже если ветка с таким именем уже существует. Давайте разберём подробнее: + +Принудительное выполнение: +Флаг **_-M_** (или **_--move --force_**) означает, что Git выполнит переименование, даже если ветка с именем main уже существует. Без этого флага Git выдаст ошибку, если ветка main уже есть. + + +Разница между `-m` и `-M`: +`-m (или --move)`: Переименовывает ветку, но только если ветка с новым именем не существует. Если ветка с таким именем уже есть, Git выдаст ошибку. + +`-M` `(или --move --force)`: Переименовывает ветку принудительно, даже если ветка с новым именем уже существует. Старая ветка будет перезаписана. + **1) Create git user info:** + #command --global is optional, without it will be local name in project not in all projects on your device git config --global user.name "Some User" @@ -13,7 +62,6 @@ then git status - **3) Create add all files:** git add --all @@ -25,6 +73,9 @@ then **5) Create commit:** git commit -m "Info about commit" +add repository (alliasName (may be origin) link on repository) + + git remote add origin https://github.com/userName/nameRepository **6) Push commit:** @@ -43,6 +94,14 @@ rename branch git branch -m newMyBranch +checkout branch + + git checkout branchName + +merge branch + + git merge branchName + **Git error push/update - create token & push without cred input** https://stackoverflow.com/questions/68775869/message-support-for-password-authentication-was-removed