Skip to content

Instantly share code, notes, and snippets.

@josanua
Last active November 24, 2025 12:39
Show Gist options
  • Select an option

  • Save josanua/d2e5096bda105053310c1e906cb7ef70 to your computer and use it in GitHub Desktop.

Select an option

Save josanua/d2e5096bda105053310c1e906cb7ef70 to your computer and use it in GitHub Desktop.
git
https://githowto.com/
https://training.github.com/
https://www.godaddy.com/help/use-git-to-manage-your-site-12067
https://www.nobledesktop.com/learn/git/git-branches
// conventions
https://dev.to/varbsan/a-simplified-convention-for-naming-branches-and-commits-in-git-il4
// explicatii simple despre Git
https://www.youtube.com/watch?v=Dw2FzMigkVU&t=4s
// de vizionat
https://github.com/josanua/login_system_oop_php.git
// !!! common git commands, general commands !!!
http://guides.beanstalkapp.com/version-control/common-git-commands.html
// probleme cu datele de acces existente pe MAC, Access Token
https://gist.github.com/jonjack/bf295d4170edeb00e96fb158f9b1ba3c
// sterge datele existente apoi cind faci clone/pull/push iti cere datele noi, trebuie sa faci token nou.
security delete-internet-password -l github.com
// Config
$ git config --global user.name "First Last"
$ git config --global user.email "you@email.com"
// helpuri
https://www.youtube.com/watch?v=2aTc37XwSj0
// -- Essentials -- //
Git are 3 stari:
1. Fisierul creat
2. Git urmareste fisierele
3. Git a creat un punct de control
//-- config --//
# Running git config globally
$ git config --global user.email "my@emailaddress.com"
$ git config --global user.name "Brian Kerr"
# Running git config on the current repository settings
$ git config user.email "my@emailaddress.com"
$ git config user.name "Brian Kerr"
//-- initierea, lucru cu proiect --//
// 1.) in caz ca fac un proiect nou pe local
git init (initierea)
git config (https://githowto.com/setup)
//-- incarcare proiect de pe Github --//
2.)
git clone <repository URL>
git status
//-- statuses, Verify situation --//
git status
git diff (--staged)
// add to commit, add files
git add -A (sau -a adauga fisierele, -A toate, sau numefisier.extensie)
git commit -a -m "first commit" (-a toate fisierele, -m message)
// change github origin address
git remote set-url origin
// download project (fara git init)
git clone link
git pull (sa tragi de pe repozitoriu)
// rename project origin to exclude original files overwrite, change branches
1.) git remote rename origin upstream (upstream name how we wan't)
2.) git remote add origin https://github.com/josanua/guttenberg-text-box-block.git
3.) git remote -v (to check remote branch status)
4.) git add -A
5.) git commit -m "added needed files"
6.) git push -f origin main (force update if need it)
or do this
git pull origin main (master)
git push origin main (master)
//-- Verify situation --//
git log
git status
git show b8a23c688bc2529dfe5a7fc1dd43d956a2854f34 (hash, give detail information about changes)
git diff
git diff --staged (modificarile care sunt in index, adica gatite pentru commit)
git diff 166368b0d9a157206670ec51fc931ca5d352780d (hash)
// view conf.
git config -l
// Unset git config, remove git, sterge git din folder
rm -rf .git
rm -rf .git* (from all project)
//--> to do after created git repo <--//
// create local reppo andpush
// create a new repository on the command line
echo "# shopify-theme-dev" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/josanua/shopify-theme-dev.git
git push -u origin main
// or push an existing repository from the command line
git remote add origin https://github.com/josanua/shopify-theme-dev.git
git branch -M main
git push -u origin main
// Or then do clone it will be initialiased by default
git clone
// first push of booilerplate-for-custom-WP-plugin
echo "# booilerplate-for-custom-WP-plugin" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/josanua/booilerplate-for-custom-WP-plugin.git
git push -u origin main
//--> issue with password, issue with ssh conection, Authentication failed, ssh Error
https://docs.github.com/en/get-started/getting-started-with-git/managing-remote-repositories
You can use the command git remote set-url to change a remote's URL.
// Replace username with your GitHub username and repo with your repository name.
git remote set-url origin git@github.com:username/repo.git
// -- work Branches -- //
// https://githowto.com/what_is_origin
// https://githowto.com/remote_branches
// https://www.nobledesktop.com/learn/git/git-branches
// https://devconnected.com/how-to-push-git-branch-to-remote/
// https://www.nobledesktop.com/learn/git/git-branches
// To get more information about 'origin' branch
git remote show origin
// To see local branches, run this command:
git branch
// print the current branch’s name.
git branch --show-current
// To see remote branches, run this command:
git branch -r
// To see all local and remote branches, run this command:
git branch -a
// create new branch and switch to them
git branch branchName
git checkout branchName
git branch branchName/branchDescription (create new branch)
git checkout develop (only switch to develop)
// short version, the same, short create new branch and switch
git checkout -b my-feature
// necessary to do after branch ceating, for pushing on git server
git push --set-upstream origin my-feature
// To configure the initial branch name to use in all of your new repositories,
// which will suppress this warning, call:
git config --global init.defaultBranch <name>
// The just-created branch can be renamed via this command:
git branch -m <name>
git checkout -b branchName (create and switch to new branch)
// push on git created branch
git push --set-upstream origin <branch name>
// or
git push -u origin <branch name>
// update la un branch de pe altul, update la branch
git pull origin branch-name (in branch-ul in care esti la moment)
git checkout - (quick change in the last worked branch)
// delete branch locally
https://www.freecodecamp.org/news/how-to-delete-a-git-branch-both-locally-and-remotely/
git branch -d localBranchName
// delete branch remotely
git push origin --delete remoteBranchName
// merge branches, connect branches
git merge branchName (to branch what is need)
// --- first upload from local on created repo
// https://www.youtube.com/watch?v=JvW3FGPdtVU
1. create repo without README file
2. like a normally to this task
git init
git remote add origin "Address from git"
git add .
git commit -m
git push origin main (git push -u origin main)
// -- Git Flow, work flow -- //
git checkout -b feature/description-text (if do some new feature/changes)
git checkout -b bug/description-text (for bug fixes)
git checkout -b release/1.0 (for release)
// flow terms
master - produsul final, versiune pentru client
hotfix
release - premaster, nu se face functional nou pe ea
develop - functional nou care mereu lucreaza, versiune pentru echipa
feature - functional in elaborare
// intoarce inapoi de la ultimul commit
git restore filename
// update la un branch de pe altul, update la branch
git pull origin branch-name (in branch-ul in care esti la moment)
// -- Commits/push -- //
https://github.com/git-guides/git-add
git add . (all files)
git commit -m "text message"
git commit -am "message" (execute git add . and commit commands)
git push
// -- Procesul nostru de lucru -- //
1. Fac upload la develop branch ( Fac pull request )
2. Apoi fac branch-ul meu care este necesar ( git checkout -b feature/task_name_id )
3. Fac modificarile ( sau fac intii modificarile apoi branch-ul )
4. Fac commit push
// -- Git in IDE -- //
Command + K - Commit
// -- git history log, git commit list -- //
https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
git log
git log --since=2.weeks (2 years 1 day 3 minutes ago)
git log --pretty=oneline (cool view)
git log --pretty=format:"%h - %an, %ar : %s"
// change commit messages
https://linuxize.com/post/change-git-commit-message/
// Change latest unpushed commit
git commit --amend -m "New commit message."
// Remove Unpushed Commits in Git
https://www.delftstack.com/howto/git/git-remove-unpushed-commit/#:~:text=Use%20the%20git%20reset%20Command,in%20the%20local%20Git%20repository.
git reset --soft HEAD~1
git reset --hard HEAD~1
// Change latest pushed commit, edit last commit, change last commit
1. git commit --amend -m "New commit message."
2. git push --force <remoteName> <branchName>
// edit last commit, update commit message
git commit --amend -m "an updated commit message"
// -- Top 10 Git Commands that all you need to know -- //
https://scriptjunction.com/devops/github/top-10-git-commands/
1: When you switch to a new branch locally from master branch and this branch does not exist on github yet
git checkout -b feature-branch (Switched to a new branch 'feature-branch')
git push --set-upstream origin feature-branch (will set the upstream and create a new branch with your changes)
2: When you have some un-committed changes on local repo but you want to get latest changes from remote branch
// setup Git ignore file
https://git-scm.com/docs/gitignore
https://www.pluralsight.com/guides/how-to-use-gitignore-file
# If you want to ignore a file that is already checked in, you must untrack the file before you add a rule to ignore it. From your terminal, untrack the file.
# remove from cache
$ git rm --cached FILENAME
$ git rm -r --cached FILENAME
// another example
https://www.atlassian.com/git/tutorials/saving-changes/gitignore
$ echo debug.log >> .gitignore
$ git rm --cached debug.log
rm 'debug.log' (will remove file from folder)
$ git commit -m "Start ignoring debug.log"
// from ChatGPT working
git rm --cached <file>
git commit -m "Remove <file> from repository"
git push origin <branch-name>
// *** Errors *** //
-> Please commit your changes or stash them before you merge.
https://stackoverflow.com/questions/1125968/how-do-i-force-git-pull-to-overwrite-local-files
-> Hard reset, reset to original, delete changes, remove unpushed commits, remove commits
// If you dont care about your local changes, try to reset it to HEAD (original state), e.g.
//This will remove all uncommitted changes, even if staged,
$ git reset --hard
$ git reset --hard HEAD
-> non-fast-forward error
https://docs.github.com/en/get-started/using-git/dealing-with-non-fast-forward-errors
// quick fix
git pull origin YOUR_BRANCH_NAME
// -- git ignore issues, uncheck tracked file, Cleaning Ignored Files, git ignore files -- //
https://www.atlassian.com/git/tutorials/saving-changes/gitignore#ignoring-a-previously-committed
https://www.git-tower.com/learn/git/faq/ignore-tracked-files-in-git
https://www.youtube.com/watch?v=0DiNdpUx5_Q
https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files#configuring-ignored-files-for-all-repositories-on-your-computer
1. you'll need to delete the file from your repository and then add a .gitignore rule for it.
2. Use this commands
# Remove the files from the index (not the actual files in the working copy)
$ git rm -r --cached .
# Add these removals to the Staging Area...
$ git add .
# ...and commit them!
$ git commit -m "Clean up ignored files"
// use this
git rm --cached file/foldername
// rebase, branch divergent branch divergents, push conflict,
https://poanchen.github.io/blog/2020/09/19/what-to-do-when-git-branch-has-diverged
git rebase origin/master
git merge origin/master
// if standard function don't helped
// if -> fatal: Not possible to fast-forward, aborting”.
git pull origin --rebase
// https://www.atlassian.com/git/tutorials/using-branches/git-merge
// https://git-scm.com/docs/git-merge
git merge : - Join two or more development histories together
// work history, git history
https://www.warp.dev/terminus/git-commit-history#:~:text=To%20list%20commits%20as%20a,history%20of%20the%20entire%20repository.
// Show the last git commits
git show HEAD
// Viewing a git branch’s entire history
git log : shows the commit history for the branch currently checked out. If you have not checked out a branch, this will show you the commit history of the entire repository.
git log <branch-name>
// migrate git provider
https://cloud.google.com/looker/docs/best-practices/how-to-migrate-to-a-new-git-repo
// This shows you the remote(s)
git remote -v
// Next, set the origin remote to the new repo
git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git
git push origin master
// issue with Password authentication
//--> If you already have SSH set up and want to update the remote URL of your current repository to use SSH, follow these steps:
https://docs.github.com/en/get-started/getting-started-with-git/managing-remote-repositories
You can use the command git remote set-url to change a remote's URL.
// 1. Replace username with your GitHub username and repo with your repository name.
git remote set-url origin git@github.com:username/repo.git
// 2. Verify the change
git remote -v
// 3. Push your changes
git push origin master (branch name)
// -- Reset -- //
git reset [--soft | --mixed | --hard] [commit]
// -- git submodules -- //
https://www.youtube.com/watch?v=gSlXo2iLBro
// After repo pull must do command
'git submodule update --init'
// or then you start to pull the project
git pull --recurse-submodules
// or change in git settings
git config submodule.recurse true
// resolved git issue with filenames
git config core.protectNTFS false
git config core.longpaths true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment