Git basic and important commands…

Creating Git local repository and connecting with remote repository:

Git init
Git remote add origin <url>
Git config --global user.email <anyemail>.com
Git config --global user.name <anyname>
Git push --set-upstream origin master

Cloning a repository:

git clone <repository_git_url>

Creating new remote branch:

git checkout -b <branch_name> 
git push origin <branch_name>

Delete a remote branch:

git push origin :<branch_name>

Delete a local Branch:

git branch -d branch_name
git branch -D branch_name

Note: -D deletes the branch even if the branch is not pushed yet ( its similar to — delete — force)

How to change the remote URL:

git remote set-url origin <url>

How to reset local changes:

git reset --hard origin/master

How to revert last commmit:

use below command to get commit id:

git log

revert:

git revert <commit hash>

How to checkout to different branch:

git checkout <branchname>

To push an old commit as final head

git checkout <commit-id>
//now make changes and commit it
git branch <new_branchname> //(create a new branch)
git push -f origin <new_branchname>:master
git checkout master
git branch -d <new_branchname>  // remove new temp branch

If merge conflic come , then just backup and delete the local repo and clone it again. CHeck whether you have the indended changes

How to test a pull request:

git remote add origin <url>
git pull
git fetch origin pull/<id>/head:branch-name
git checkout branch-name

Eg:

To test the below pull request:

copy the ID : 1479

copy the branch-name: fix-incorrect-override

use the below command:

git remote add origin https://github.com/DefectDojo/django-DefectDojo.git
git pull
git fetch origin pull/1479/head:fix-incorrect-override
git checkout fix-incorrect-override

Git ignore:

Sometimes you need to prevent git from uploading sensitive files to remote repository.

This could be done by creating a gitignore file that tells git not to track the sensitive files.

To create gitignore file , open git bash and enter below command

touch .gitignore   //will create the gitignore file

If files are already tracked, we should first untrack it else the rules in gitignore won’t come to effect.

git rm --cached <filename>

Now manually add files and folders to the .gitignore file

So, if we do git add . , the files add in .gitignore won’t be tracked

Note:

.gitignore file will get checked in and the rule gets applicable to all the users of the project

If you want to create rules locally only for you, then use your favorite text editor to open the file called .git/info/exclude within the root of your Git repository, to create ignore rules that need not be checked in. Any rule you add here will not be checked in, and will only ignore files for your local repository.

If you want to create git ignore globally for all git projects in your system, use below steps:

# Declare the global .gitignore
git config --global core.excludesfile ~/.gitignore_global
# Create the .gitignore_global file
touch .gitignore_global
# Go into edit mode so you can add the unwanted file listing
vim .gitignore_global

Renaming a remote branch:

# Rename branch locally  
#if you are in a different branch
git branch -m old_branch new_branch
OR
#if already in the old branch
git branch -m new_branch
# Delete the old branch      
git push origin :old_branch
# Push the new branch, set local branch to track the new remote  
git push --set-upstream origin new_branch

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.