Wednesday, June 1, 2022

Git Stashing

Hello DevOps/DevSecOps team Guys!! As you know we are learners always shine with 'Learning by doing'. In this post exploring the git stashing it's nice to know how you can keep code in safer for reuse after sometime or after some other code commits getting back.


 

What is Git Stash means?

Stashing takes the dirty state of your working directory — that is, your modified tracked files and staged changes — and saves it on a stack of unfinished changes that you can reapply at any time (even on a different branch).
To demonstrate stashing, you should go into your project and start working on a couple of file(s) and possibly stage one of the changes.

Power of git stash

Why do we need git stashing?
We have already git commit command right then why stashing? You can commit your code and switch to another branch. Your actual work is in a "messy state" and there are still more new feature changes need to be done on the projects coming up and don't want to commit your current changes.

For this problem, a simple solution is that you can use the command git stash.

You are working on a feature branch let's say feature1. But there is a burning issues in live needs higph priority on the hotfix, you are the only person can fix it. In such situations stashing the current changes and working highly urgent task once it is commited then we can get back to last changes. Stashing is temporary store in git repository without disturbing index, stage, work areas. 

Preparation to test the git stash commands : 
1. Create a directory name as 'git-stashtest'
2. initialize the git initial repo
clear
mkdir git-stashtest; cd git-stashtest; ls -lrt
# Do the changes like create/modify a file
You got the eligibility to play with git stash command

How to use the git stash command?

The "git stash" command can help you to (temporarily but safely) store your uncommitted local changes - and leave you with a clean working copy. Stash changes in a dirty working directory

Example: Enter the data in the 'index.html file and stash the changes.
vi index.html  # working with edit
git stash 
cat index.html

example of git stash 


Git push

Introduces the option of stashing selected pathspecs. git stash save : The changes can be saved with or without message.
git stash list : To check the stored stashes. You can list the stashes by using this command.
git stash show : We can track the stashes and their changes. To see the changes in the file before stash and after stash operation.


Git stash apply

Example for git stash apply


Git stash with list



Git stash pop




Git stash pop with index

Git stash drop with index number
You can clear specific stashed index as shown below:
git stash list
git stash drop 2
git stash list

How to clear up the stashed dirty?

Git stash Clear
git stash list
git stash clear # clears here
git stash list # to check the clear done
remove all stashed entries

Example : git stash clear


Happy to share new learnings on GitOps. If you find this useful please share it to your technical communities.

No comments:

Categories

Kubernetes (24) Docker (20) git (13) Jenkins (12) AWS (7) Jenkins CI (5) Vagrant (5) K8s (4) VirtualBox (4) CentOS7 (3) docker registry (3) docker-ee (3) ucp (3) Jenkins Automation (2) Jenkins Master Slave (2) Jenkins Project (2) containers (2) create deployment (2) docker EE (2) docker private registry (2) dockers (2) dtr (2) kubeadm (2) kubectl (2) kubelet (2) openssl (2) Alert Manager CLI (1) AlertManager (1) Apache Maven (1) Best DevOps interview questions (1) CentOS (1) Container as a Service (1) DevOps Interview Questions (1) Docker 19 CE on Ubuntu 19.04 (1) Docker Tutorial (1) Docker UCP (1) Docker installation on Ubunutu (1) Docker interview questions (1) Docker on PowerShell (1) Docker on Windows (1) Docker version (1) Docker-ee installation on CentOS (1) DockerHub (1) Features of DTR (1) Fedora (1) Freestyle Project (1) Git Install on CentOS (1) Git Install on Oracle Linux (1) Git Install on RHEL (1) Git Source based installation (1) Git line ending setup (1) Git migration (1) Grafana on Windows (1) Install DTR (1) Install Docker on Windows Server (1) Install Maven on CentOS (1) Issues (1) Jenkins CI server on AWS instance (1) Jenkins First Job (1) Jenkins Installation on CentOS7 (1) Jenkins Master (1) Jenkins automatic build (1) Jenkins installation on Ubuntu 18.04 (1) Jenkins integration with GitHub server (1) Jenkins on AWS Ubuntu (1) Kubernetes Cluster provisioning (1) Kubernetes interview questions (1) Kuberntes Installation (1) Maven (1) Maven installation on Unix (1) Operations interview Questions (1) Oracle Linux (1) Personal access tokens on GitHub (1) Problem in Docker (1) Prometheus (1) Prometheus CLI (1) RHEL (1) SCM (1) SCM Poll (1) SRE interview questions (1) Troubleshooting (1) Uninstall Git (1) Uninstall Git on CentOS7 (1) Universal Control Plane (1) Vagrantfile (1) amtool (1) aws IAM Role (1) aws policy (1) caas (1) chef installation (1) create organization on UCP (1) create team on UCP (1) docker CE (1) docker UCP console (1) docker command line (1) docker commands (1) docker community edition (1) docker container (1) docker editions (1) docker enterprise edition (1) docker enterprise edition deep dive (1) docker for windows (1) docker hub (1) docker installation (1) docker node (1) docker releases (1) docker secure registry (1) docker service (1) docker swarm init (1) docker swarm join (1) docker trusted registry (1) elasticBeanStalk (1) global configurations (1) helm installation issue (1) mvn (1) namespaces (1) promtool (1) service creation (1) slack (1)