Git ਓਪਰੇਸ਼ਨਾਂ ਤੋਂ ਗੁੰਮ ਹੋਏ ਕੋਡ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨਾ
ਵਿਜ਼ੂਅਲ ਸਟੂਡੀਓ ਕੋਡ ਵਿੱਚ ਗਿੱਟ ਕਮਾਂਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨਾਲ ਕਈ ਵਾਰ ਅਣਇੱਛਤ ਨਤੀਜੇ ਹੋ ਸਕਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਤੁਹਾਡੀਆਂ ਮੌਜੂਦਾ ਤਬਦੀਲੀਆਂ ਨੂੰ ਗੁਆਉਣਾ। ਇਹ ਸਥਿਤੀ ਅਕਸਰ ਉਦੋਂ ਪੈਦਾ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਰਿਮੋਟ ਰਿਪੋਜ਼ਟਰੀ ਤੋਂ ਅੱਪਡੇਟ ਲੈਣ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਲੁਕਾਉਣਾ ਭੁੱਲ ਜਾਂਦੇ ਹੋ।
ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਇੱਕ ਆਮ ਦ੍ਰਿਸ਼ ਦੀ ਪੜਚੋਲ ਕਰਾਂਗੇ ਜਿੱਥੇ ਤੁਹਾਡੀਆਂ ਸ਼ਾਮਲ ਕੀਤੀਆਂ ਫਾਈਲਾਂ ਅਤੇ ਮੌਜੂਦਾ ਕੋਡ Git ਕਮਾਂਡਾਂ ਦੀ ਇੱਕ ਲੜੀ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਬਾਅਦ ਅਲੋਪ ਹੋ ਜਾਂਦੇ ਹਨ। ਅਸੀਂ ਤੁਹਾਡੇ ਗੁਆਚੇ ਕੋਡ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਭਵਿੱਖ ਵਿੱਚ ਅਜਿਹਾ ਹੋਣ ਤੋਂ ਰੋਕਣ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਕਰਨ ਲਈ ਕਦਮ ਵੀ ਪ੍ਰਦਾਨ ਕਰਾਂਗੇ।
| ਹੁਕਮ | ਵਰਣਨ |
|---|---|
| git reflog | ਸਾਰੇ ਸੰਦਰਭ ਅੱਪਡੇਟ ਦਾ ਇੱਕ ਲੌਗ ਦਿਖਾਉਂਦਾ ਹੈ, ਗੁਆਚੀਆਂ ਕਮਿਟਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਉਪਯੋਗੀ। |
| git checkout <commit_hash> | ਕਿਸੇ ਖਾਸ ਵਚਨਬੱਧਤਾ 'ਤੇ ਸਵਿਚ ਕਰਦਾ ਹੈ, ਜੋ ਉਸ ਕਮਿਟ ਤੋਂ ਫਾਈਲਾਂ ਨੂੰ ਦੇਖਣ ਜਾਂ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਉਪਯੋਗੀ ਹੈ। |
| git checkout -b <branch_name> | ਇੱਕ ਨਵੀਂ ਸ਼ਾਖਾ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਇਸ ਵਿੱਚ ਬਦਲਦਾ ਹੈ, ਤਬਦੀਲੀਆਂ ਨੂੰ ਅਲੱਗ ਕਰਨ ਲਈ ਉਪਯੋਗੀ। |
| git stash drop | ਇੱਕ ਖਾਸ ਸਟੈਸ਼ ਨੂੰ ਮਿਟਾਉਂਦਾ ਹੈ, ਜੋ ਕਿ ਸਟੈਸ਼ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਤੋਂ ਬਾਅਦ ਸਾਫ਼ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
| git merge recover-branch | ਰਿਕਵਰੀ ਬ੍ਰਾਂਚ ਤੋਂ ਮੌਜੂਦਾ ਬ੍ਰਾਂਚ ਵਿੱਚ ਬਦਲਾਵਾਂ ਨੂੰ ਮਿਲਾਉਂਦਾ ਹੈ, ਰਿਕਵਰੀ ਕੀਤੇ ਕੰਮ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਲਈ ਉਪਯੋਗੀ। |
| #!/bin/bash | ਇੱਕ Bash ਸਕ੍ਰਿਪਟ ਦੀ ਸ਼ੁਰੂਆਤ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, ਜੋ ਕਮਾਂਡ ਕ੍ਰਮ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। |
ਰਿਕਵਰੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਮਝਣਾ
ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ Git ਕਮਾਂਡਾਂ ਦੇ ਕ੍ਰਮ ਨੂੰ ਗਲਤ ਢੰਗ ਨਾਲ ਕਰਨ ਤੋਂ ਬਾਅਦ ਗੁਆਚੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਪਹਿਲੀ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ git reflog ਕਮਿਟ ਨੂੰ ਲੱਭਣ ਲਈ ਜਿੱਥੇ ਤੁਹਾਡੀਆਂ ਤਬਦੀਲੀਆਂ ਗੁਆਚ ਗਈਆਂ ਸਨ, ਅਤੇ ਫਿਰ ਵਰਤੋਂ git checkout ਉਸ ਕਮਿਟ 'ਤੇ ਜਾਣ ਲਈ ਅਤੇ ਆਪਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਇੱਕ ਨਵੀਂ ਸ਼ਾਖਾ ਬਣਾਓ। ਇਹ ਤੁਹਾਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਆਪਣੀ ਮੁੱਖ ਸ਼ਾਖਾ ਵਿੱਚ ਮਿਲਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਵਰਗੇ ਹੁਕਮ git checkout -b ਅਤੇ git merge ਤਬਦੀਲੀਆਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਅਲੱਗ ਕਰਨ ਅਤੇ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹਨ।
ਦੂਜੀ ਸਕ੍ਰਿਪਟ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ ਕਿਵੇਂ ਪਰਿਵਰਤਨਾਂ ਨੂੰ ਸਟੈਸ਼ ਕਰਨ, ਰਿਮੋਟ ਰਿਪੋਜ਼ਟਰੀ ਤੋਂ ਅਪਡੇਟਾਂ ਨੂੰ ਖਿੱਚਣ, ਅਤੇ ਸਟੈਸ਼ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਆਟੋਮੈਟਿਕ ਕਰਨਾ ਹੈ। ਇਹ ਸਕ੍ਰਿਪਟ ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਕਮਾਂਡਾਂ ਦੀ ਲੜੀ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ git stash ਅਣ-ਪ੍ਰਤੀਬੱਧ ਤਬਦੀਲੀਆਂ ਨੂੰ ਬਚਾਉਣ ਲਈ, ਇਸ ਤੋਂ ਬਾਅਦ git pull ਸਥਾਨਕ ਰਿਪੋਜ਼ਟਰੀ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ, ਅਤੇ git stash apply ਸਟੋਰ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਮੁੜ ਲਾਗੂ ਕਰਨ ਲਈ। ਇਸ ਵਿੱਚ ਵਿਵਾਦਾਂ ਨੂੰ ਹੱਲ ਕਰਨ ਅਤੇ ਇਸ ਨਾਲ ਸਟੈਸ਼ ਨੂੰ ਸਾਫ਼ ਕਰਨ ਲਈ ਕਮਾਂਡਾਂ ਵੀ ਸ਼ਾਮਲ ਹਨ git stash drop, ਇੱਕ ਨਿਰਵਿਘਨ ਵਰਕਫਲੋ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ ਅਤੇ ਕੰਮ ਗੁਆਉਣ ਦੇ ਜੋਖਮ ਨੂੰ ਘੱਟ ਕਰਨਾ।
ਗਿੱਟ ਕਮਾਂਡਾਂ ਤੋਂ ਬਾਅਦ ਗੁੰਮ ਹੋਈਆਂ ਫਾਈਲਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨਾ
ਵਿਜ਼ੂਅਲ ਸਟੂਡੀਓ ਕੋਡ ਵਿੱਚ ਗਿੱਟ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
# Step 1: Check the git reflog to find the lost commitgit reflog# Step 2: Find the commit hash where you lost your changes# Step 3: Checkout that commit to recover your filesgit checkout <commit_hash># Step 4: Create a new branch from this commit to save your changesgit checkout -b recover-branch# Step 5: Merge your changes back to your current branchgit checkout maingit merge recover-branch# Step 6: Delete the recovery branch if no longer neededgit branch -d recover-branch
ਗਿੱਟ ਪੁੱਲ ਤੋਂ ਬਾਅਦ ਸਟੈਸ਼ਡ ਤਬਦੀਲੀਆਂ ਨੂੰ ਬਹਾਲ ਕਰਨਾ
ਗਿੱਟ ਸਟੈਸ਼ ਅਤੇ ਪੁੱਲ ਕਮਾਂਡਸ
# Step 1: Stash your changes before pullinggit stash# Step 2: Pull the latest changes from the remote repositorygit pull# Step 3: Apply your stashed changesgit stash apply# Step 4: If conflicts occur, resolve themgit add .git commit -m "Resolved merge conflicts"# Step 5: Clean up the stash if everything is resolvedgit stash drop
ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਨ ਲਈ ਇੱਕ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
ਗਿੱਟ ਓਪਰੇਸ਼ਨਾਂ ਲਈ ਬੈਸ਼ ਸਕ੍ਰਿਪਟ
#!/bin/bash# Script to automate git stash, pull, and apply changesecho "Stashing current changes..."git stashecho "Pulling latest changes from remote..."git pullecho "Applying stashed changes..."git stash applyecho "Resolving any merge conflicts..."git add .git commit -m "Resolved conflicts after stash apply"echo "Cleaning up the stash..."git stash drop
ਅਭੇਦ ਵਿਵਾਦਾਂ ਨੂੰ ਸੰਭਾਲਣਾ ਅਤੇ ਡੇਟਾ ਦੇ ਨੁਕਸਾਨ ਨੂੰ ਰੋਕਣਾ
Git ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ, ਅਭੇਦ ਵਿਵਾਦ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਵੱਖ-ਵੱਖ ਸ਼ਾਖਾਵਾਂ ਵਿੱਚ ਕੋਡ ਦੀਆਂ ਇੱਕੋ ਲਾਈਨਾਂ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਇਸ ਨੂੰ ਸੰਭਾਲਣ ਲਈ, ਗਿੱਟ ਕਈ ਟੂਲ ਅਤੇ ਕਮਾਂਡਾਂ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਦ git diff ਕਮਾਂਡ ਤੁਹਾਨੂੰ ਸ਼ਾਖਾਵਾਂ ਜਾਂ ਕਮਿਟਾਂ ਵਿੱਚ ਅੰਤਰ ਦੇਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ, ਤੁਹਾਨੂੰ ਇਹ ਸਮਝਣ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ ਕਿ ਵਿਵਾਦ ਕਿੱਥੇ ਪੈਦਾ ਹੋ ਸਕਦੇ ਹਨ। ਇੱਕ ਵਾਰ ਜਦੋਂ ਕਿਸੇ ਵਿਵਾਦ ਦੀ ਪਛਾਣ ਹੋ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਇਸਨੂੰ ਹੱਥੀਂ ਹੱਲ ਕਰਨ ਲਈ ਇੱਕ ਸੰਪਾਦਕ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।
ਵਿਵਾਦਾਂ ਨੂੰ ਸੁਲਝਾਉਣ ਤੋਂ ਬਾਅਦ, ਇਸਦੀ ਵਰਤੋਂ ਕਰਕੇ ਹੱਲ ਕੀਤੀਆਂ ਫਾਈਲਾਂ ਨੂੰ ਜੋੜਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ git add ਅਤੇ ਤਬਦੀਲੀਆਂ ਕਰੋ। ਡੇਟਾ ਦੇ ਨੁਕਸਾਨ ਨੂੰ ਰੋਕਣ ਲਈ, ਨਵੀਆਂ ਤਬਦੀਲੀਆਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹਮੇਸ਼ਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡਾ ਕੰਮ ਪ੍ਰਤੀਬੱਧ ਹੈ। ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ git stash ਇੱਕ ਪੁੱਲ ਓਪਰੇਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਡੀਆਂ ਸਥਾਨਕ ਸੋਧਾਂ ਨੂੰ ਅਸਥਾਈ ਤੌਰ 'ਤੇ ਬਚਾ ਸਕਦਾ ਹੈ, ਅਤੇ git stash pop ਸਾਰੀ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਤੁਹਾਡੇ ਕੰਮ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦੇ ਹੋਏ, ਉਹਨਾਂ ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਲਾਗੂ ਕਰ ਸਕਦੇ ਹੋ।
ਗਿੱਟ ਕਮਾਂਡਾਂ ਅਤੇ ਡੇਟਾ ਰਿਕਵਰੀ ਬਾਰੇ ਆਮ ਸਵਾਲ
- ਦਾ ਮਕਸਦ ਕੀ ਹੈ git reflog?
- git reflog ਬ੍ਰਾਂਚਾਂ ਦੇ ਸਿਰੇ 'ਤੇ ਅੱਪਡੇਟਾਂ ਨੂੰ ਟਰੈਕ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਗੁਆਚੀਆਂ ਕਮਿਟਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ।
- ਮੈਂ ਬਾਅਦ ਵਿੱਚ ਪੈਦਾ ਹੋਏ ਵਿਵਾਦਾਂ ਨੂੰ ਕਿਵੇਂ ਹੱਲ ਕਰ ਸਕਦਾ ਹਾਂ git stash apply?
- ਸਟੈਸ਼ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਵਰਤੋਂ git status ਝਗੜਿਆਂ ਦੀ ਪਛਾਣ ਕਰਨ, ਉਹਨਾਂ ਨੂੰ ਹੱਥੀਂ ਹੱਲ ਕਰਨ ਅਤੇ ਪ੍ਰਤੀਬੱਧ ਕਰਨ ਲਈ।
- ਕੀ ਇਹ git stash drop ਕਰਦੇ ਹਾਂ?
- git stash drop ਸਟੈਸ਼ਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚੋਂ ਇੱਕ ਖਾਸ ਸਟੈਸ਼ ਐਂਟਰੀ ਨੂੰ ਹਟਾਉਂਦਾ ਹੈ।
- ਮੈਂ ਉਹਨਾਂ ਫਾਈਲਾਂ ਨੂੰ ਕਿਵੇਂ ਰਿਕਵਰ ਕਰਾਂ ਜੋ ਜੋੜੀਆਂ ਗਈਆਂ ਸਨ ਪਰ ਪ੍ਰਤੀਬੱਧ ਨਹੀਂ ਸਨ?
- ਵਰਤੋ git fsck ਲਟਕਦੇ ਬਲੌਬ ਅਤੇ ਰੁੱਖਾਂ ਨੂੰ ਲੱਭਣ ਲਈ, ਫਿਰ git show ਸਮੱਗਰੀ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ.
- ਮੈਨੂੰ ਦੌੜਨ ਤੋਂ ਪਹਿਲਾਂ ਕੀ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ git pull ਤਬਦੀਲੀਆਂ ਗੁਆਉਣ ਤੋਂ ਬਚਣ ਲਈ?
- ਵਰਤਦੇ ਹੋਏ ਨਵੇਂ ਅਪਡੇਟਾਂ ਨੂੰ ਖਿੱਚਣ ਤੋਂ ਪਹਿਲਾਂ ਹਮੇਸ਼ਾਂ ਆਪਣੇ ਬਦਲਾਅ ਨੂੰ ਲੁਕਾਓ ਜਾਂ ਪ੍ਰਤੀਬੱਧ ਕਰੋ git stash ਜਾਂ git commit.
- ਕੀ ਮੈਂ ਸਟੈਸ਼, ਖਿੱਚਣ ਅਤੇ ਲਾਗੂ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਵੈਚਲਿਤ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਹਾਂ, ਤੁਸੀਂ ਇਸ ਨਾਲ ਇੱਕ ਸਕ੍ਰਿਪਟ ਬਣਾ ਸਕਦੇ ਹੋ bash ਜਾਂ ਇਹਨਾਂ ਗਿੱਟ ਕਮਾਂਡਾਂ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਨ ਲਈ ਕੋਈ ਹੋਰ ਸ਼ੈੱਲ.
- ਕਿਵੇਂ ਕਰਦਾ ਹੈ git checkout -b ਗੁੰਮ ਹੋਏ ਕੰਮ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਮਦਦ?
- ਇਹ ਤੁਹਾਨੂੰ ਰਿਕਵਰੀ ਲਈ ਬਦਲਾਵਾਂ ਨੂੰ ਅਲੱਗ ਕਰਦੇ ਹੋਏ, ਇੱਕ ਖਾਸ ਕਮਿਟ ਤੋਂ ਇੱਕ ਨਵੀਂ ਸ਼ਾਖਾ ਬਣਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।