Git is a distributed version control system that helps developers collaborate on projects of any scale.
Linus Torvalds, the developer of the Linux kernel, created Git in 2005 to help control the Linux kernel's development.
A distributed version control system is a system that helps you keep track of changes you've made to files in your project.
This change history lives on your local machine and lets you revert to a previous version of your project with ease in case something goes wrong.
Git makes collaboration easy. Everyone on the team can keep a full backup of the repositories they're working on on their local machine. Then, thanks to an external server like BitBucket, GitHub or GitLab, they can safely store the repository in a single place.
This way, different members of the team can copy it locally and everyone has a clear overview of all changes made by the whole team.
Git has many different commands you can use. And I've found that these fifty are the ones I use the most often (and are therefore the most helpful to remember).
So I have written them down and thought it'd be nice to share them with the community. I hope you find them useful – Enjoy.
The command below returns a list of information about your git configuration including user name and email:
git config -l
With the command below you can configure your user name:
git config --global user.name "Fabio"
This command lets you setup the user email address you'll use in your commits.
git config --global user.email "email@example.com"
You can store login credentials in the cache so you don't have to type them in each time. Just use this command:
git config --global credential.helper cache
Everything starts from here. The first step is to initialize a new Git repo locally in your project root. You can do so with the command below:
The command below will add a file to the staging area. Just replace
filename_here with the name of the file you want to add to the staging area.
git add filename_here
If you want to add all files in your project to the staging area, you can use a wildcard
. and every file will be added for you.
git add .
With the asterisk in the command below, you can add all files starting with 'fil' in the staging area.
git add fil*
This command will show the status of the current repository including staged, unstaged, and untracked files.
This command will open a text editor in the terminal where you can write a full commit message.
A commit message is made up of a short summary of changes, an empty line, and a full description of the changes after it.
You can add a commit message without opening the editor. This command lets you only specify a short summary for your commit message.
git commit -m "your commit message here"
You can add and commit tracked files with a single command by using the -a and -m options.
git commit -a -m"your commit message here"
This command shows the commit history for the current repository:
This command shows the commit's history including all files and their changes:
git log -p
This command shows a specific commit.
Replace commit-id with the id of the commit that you find in the commit log after the word commit.
git show commit-id
This command will cause the Git log to show some statistics about the changes in each commit, including line(s) changed and file names.
git log --stat
You can pass a file as a parameter to only see changes on a specific file.
git diff shows only unstaged changes by default.
We can call diff with the
--staged flag to see any staged changes.
git diff git diff all_checks.py git diff --staged
This command opens a prompt and asks if you want to stage changes or not, and includes other options.
git add -p
This command expects a commit message to explain why the file was deleted.
git rm filename
This command stages the changes, then it expects a commit message.
git mv oldfile newfile
.gitignore file and commit it.
git checkout filename
You can use the -p option flag to specify the changes you want to reset.
git reset HEAD filename git reset HEAD -p
git commit --amend allows you to modify and add changes to the most recent commit.
git commit --amend
!!Note!!: fixing up a local commit with amend is great and you can push it to a shared repository after you've fixed it. But you should avoid amending commits that have already been made public.
git revert will create a new commit that is the opposite of everything in the given commit.
We can revert the latest commit by using the head alias like this:
git revert HEAD
You can revert an old commit using its commit id. This opens the editor so you can add a commit message.
git revert comit_id_here
By default, you have one branch, the main branch. With this command, you can create a new branch. Git won't switch to it automatically – you will need to do it manually with the next command.
git branch branch_name
When you want to use a different or a newly created branch you can use this command:
git checkout branch_name
You can view all created branches using the
git branch command. It will show a list of all branches and mark the current branch with an asterisk and highlight it in green.
In a single command, you can create and switch to a new branch right away.
git checkout -b branch_name
When you are done working with a branch and have merged it, you can delete it using the command below:
git branch -d branch_name
To merge the history of the branch you are currently in with the
branch_name, you will need to use the command below:
git merge branch_name
We can use
--graph to get the commit log to show as a graph. Also,
--oneline will limit commit messages to a single line.
git log --graph --oneline
Does the same as the command above, but for all branches.
git log --graph --oneline --all
If you want to throw a merge away and start over, you can run the following command:
git merge --abort
This command adds a remote repository to your local repository (just replace
https://repo_here with your remote repo URL).
git add remote https://repo_here
You can see all remote repositories for your local repository with this command:
git remote -v
origin with the name of the remote obtained by
running the git remote -v command.
git remote show origin
When all your work is ready to be saved on a remote repository, you can push all changes using the command below:
If other team members are working on your repository, you can retrieve the latest changes made to the remote repository with the command below:
This command shows the name of all remote branches that Git is tracking for the current repository:
git branch -r
This command will download the changes from a remote repo but will not perform a merge on your local branch (as git pull does that instead).
Commit after commit, Git builds up a log. You can find out the remote repository log by using this command:
git log origin/main
If the remote repository has changes you want to merge with your local, then this command will do that for you:
git merge origin/main
This lets you update the remote without merging any content into the
local branches. You can call git merge or git checkout to do the merge.
git remote update
If you want to push a branch to a remote repository you can use the command below. Just remember to add -u to create the branch upstream:
git push -u origin branch_name
If you no longer need a remote branch you can remove it using the command below:
git push --delete origin branch_name_here
You can transfer completed work from one branch to another using
git rebase branch_name_here
Git Rebase can get really messy if you don't do it properly. Before using this command I suggest that you re-read the official documentation here
You can run git rebase interactively using the -i flag.
It will open the editor and present a set of commands you can use.
git rebase -i master # p, pick = use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = like "squash", but discard this commit's log message # x, exec = run command (the rest of the line) using shell # d, drop = remove commit
This command will force a push request. This is usually fine for pull request branches because nobody else should have cloned them.
But this isn't something that you want to do with public repos.
git push -f
These commands can dramatically improve your productivity in Git. You don't have to remember them all – that's why I have written this cheat sheet. Bookmark this page for future reference or print it if you like.
Original article source at https://www.freecodecamp.org
#git #github #programming #developer
In this part you will get familiar with some basic Git commands. At the end of this blog you will be able to perform certain task like
These are those commands you must conquer
<!DOCTYPE html> <html> <head></head> <body> <h1>Sab Batade Aapko</h1> </body> </html>
Initializing the folder as a Git repository
this command will make a file named .git
#github #git #basic-git-commands #git-commands #git-status
There is no doubt that Git plays a significant role in software development. It allows developers to work on the same code base at the same time. Still, developers struggle for code quality. Why? They fail to follow git best practices. In this post, I will explain seven core best practices of Git and a Bonus Section.
Committing something to Git means that you have changed your code and want to save these changes as a new trusted version.
Version control systems will not limit you in how you commit your code.
But is it good? Not quite.
When you do an atomic commit, you’re committing only one change. It might be across multiple files, but it’s one single change.
Many developers make some changes, then commit, then push. And I have seen many repositories with unwanted files like dll, pdf, etc.
You can ask two questions to yourself, before check-in your code into the repository
You can simply use the .gitignore file to avoid unwanted files in the repository. If you are working on more then one repo, it’s easy to use a global .gitignore file (without adding or pushing). And .gitignore file adds clarity and helps you to keep your code clean. What you can commit, and it will automatically ignore the unwanted files like autogenerated files like .dll and .class, etc.
#git basics #git command #git ignore #git best practices #git tutorial for beginners #git tutorials
In this short article, we’ll be exploring some quick git commands that can help us in digging through our repositories’ history of commits. We’ll look at
#git #git-log #git-commands #git-history #aws
Git has become ubiquitous as the preferred version control system (VCS) used by developers. Using Git adds immense value especially for engineering teams where several developers work together since it becomes critical to have a system of integrating everyone’s code reliably.
But with every powerful tool, especially one that involves collaboration with others, it is better to establish conventions to follow lest we shoot ourselves in the foot.
At DeepSource, we’ve put together some guiding principles for our own team that make working with a VCS like Git easier. Here are 5 simple rules you can follow:
Oftentimes programmers working on something get sidetracked into doing too many things when working on one particular thing — like when you are trying to fix one particular bug and you spot another one, and you can’t resist the urge to fix that as well. And another one. Soon, it snowballs and you end up with so many changes all going together in one commit.
This is problematic, and it is better to keep commits as small and focused as possible for many reasons, including:
Additionally, it helps you mentally parse changes you’ve made using
#open source #git #git basics #git tools #git best practices #git tutorials #git commit
If you are a new or experienced developer, you have to use source control. And good chances are you are using Git to manage your source code.
And to use Git to its full potential, you need to know Git commands. Here you will learn the most helpful Git commands that will take you from one level to another.
To make this Git commands guide more helpful, I have divided the guide into three different sections: Basic, Intermediate, and Advanced Git commands.
This is an epic guide. And to make it more useful, I have added a Bonus section where you can download 51+ Git commands and a few more downloads to boost your productivity in Git.
In this section, you will learn the essential Git commands. These basic Git commands are the foundation to learn more advanced commands.
Here are the nine useful Git commands.
#git #git commands #git commits #git tutorial