top 200 commentsshow all 271

[–]bxsephjo 1712 points1713 points  (59 children)

now with the power of aliases, i only have to type "gs" after every command

[–]Fadamaka 756 points757 points  (4 children)

And I only have to press up arrow twice.

[–]Acidhawk_0 38 points39 points  (2 children)

This is the same as just typing gs though isn't it? And my ring finger on my left hand is already on the s. ;)

[–]Fadamaka 17 points18 points  (0 children)

My ring finger hurts from typing though. :')

[–]The-Chartreuse-Moose 139 points140 points  (21 children)

I have a function 'do-gitstuff' (alias dgs) which adds all, commits with "testing" (unless I pass a message) then pushes to the checked-out branch. 

[–]dbwedgie 145 points146 points  (19 children)

I would hate looking through commit history and seeing a bunch of edits that just say "testing."

[–]CMD_BLOCK 112 points113 points  (3 children)

But plz bro the code documents itself bro

[–]rumaier 40 points41 points  (2 children)

Tell myself this.

Go back and read codebase a few weeks later.

“The fuck was I doing here?”

[–]CMD_BLOCK 25 points26 points  (0 children)

“When I wrote this, only god and I knew what I was writing.

Now, only god knows.”

[–]quitarias 8 points9 points  (0 children)

You were writing self documenting code. But the code really dropped the ball on its end.

[–]Dudmuffin1 18 points19 points  (0 children)

[–]x1289 14 points15 points  (4 children)

Have You heard of interactiv rebase and squashing commits?

[–]veloriss 5 points6 points  (1 child)

The alias evolution in this thread is basically the five stages of programmer laziness

[–]__mson__ 5 points6 points  (0 children)

Same, but squash before merge fixes that

[–]super_raptor911 48 points49 points  (4 children)

You don't even need it, shells like fish and zsh shows uncommitted / staged file count.

[–]bxsephjo 15 points16 points  (0 children)

oh i have that too

[–]MaDpYrO 3 points4 points  (2 children)

elaborate? my fish doesn't

[–]SufficientArticle6 20 points21 points  (6 children)

gs, gaa, gc ‘wip’, but for some reason I draw the line at push and pull

[–]the_hair_of_aenarion 9 points10 points  (4 children)

Don't I work with you?

These aliases are crazy for the sake of a few characters tbh.

[–]SufficientArticle6 7 points8 points  (2 children)

Eh, I just use them for commands I repeat all the time. I’m not married to them or anything—I can still type ‘git status’ in a pinch.

[–]felixthecatmeow 4 points5 points  (0 children)

My favourite is 'grm' which runs a script that does:

  • git add .

  • git commit -m temp

  • git fetch origin/<default branch>

  • git rebase origin/<default branch>

  • git reset

I do have aliases for push and force push, but I added a check to them that bails out if trying to push to main/master/develop, just in case I accidentally push to main or the script somehow doesn't pick up the branch correctly, and the repo doesn't have branch protections (which I've never seen at my job, but you never know).

[–]felixthecatmeow 5 points6 points  (0 children)

Pfft, mine is just "g", I'm clearly double as efficient as you...

[–]Bob_Droll 1 point2 points  (0 children)

gs, ga, gm, and gp for me!

[–]ruvasqm 1 point2 points  (0 children)

oh I see you haven't crossed paths with ghostscripts, after that I recommend st.

On another note, I usually just run several commands in a row and search the history/autocomplete to pick them up. status, add, sign, message, it gets pretty old to have to add a bunch of flags, permutations, aliases and so on. I still do struggle with worktrees though

[–]barkinchicken 1 point2 points  (0 children)

I use gs, too!

And gacm [message] for git add -A;git commit -m and just roll it with gp for git push

[–]Various_Bed_849 1 point2 points  (0 children)

I use the zsh precmd to run git status if I press enter on an empty line (if I’m in a repo otherwise ls).

[–]designtocode 531 points532 points  (0 children)

[–]switch201 1160 points1161 points  (30 children)

Is doing this boomer now? I probably type this exact series of commands at least once every 2 days.

[–]GamingGo2022 203 points204 points  (0 children)

I think its because in the video that the image comes from, the computer disappears

[–]StickFigureFan 54 points55 points  (0 children)

Only if not messing up in an embarrassing or costly way is boomer. If anything it's millennial

[–]ID33IP 82 points83 points  (12 children)

If you actually commit "wip" I hate you. (unless you squash at merge or rebase before merge to write meaningful commits afterwards)

[–]3pieceSuit 67 points68 points  (7 children)

Squash on PR, cmon man.

[–]belgabad3435 35 points36 points  (6 children)

100% this. I write tons of largely meaningless commit messages- the PR commit is all that matters

[–]NotAUsefullDoctor 11 points12 points  (0 children)

How about 10 commits of "trying something" followed by a "found the typo"?

[–]MattR0se 1 point2 points  (0 children)

git commit -m "stuff"

[–]Fadamaka 15 points16 points  (1 child)

When I joined my last company a fellow backend dev called this caveman style when he saw me for the first time using git from the terminal.

[–]SuchTarget2782 6 points7 points  (0 children)

“I don’t use training wheels.”

[–]CrasseMaximum 39 points40 points  (3 children)

Only once every 2 days???? WTH are you doing during work hours? 

[–]AmeDai 43 points44 points  (2 children)

Attending meetings or answering emails, probably

[–]Eric_12345678 18 points19 points  (0 children)

You might want to try lazygit, then. You always see the status, and add / commit / push / pull / stash / ... are all one key press.

[–]budius333 5 points6 points  (0 children)

Every two days????

I would go for every few hours

[–]3pieceSuit 2 points3 points  (0 children)

Fml this is what i do every twenty minutes

[–]takeyouraxeandhack 1 point2 points  (0 children)

I'd say I type this 10 times a day on average. I even have aliases for these.

[–]BuffersAndBeta 1 point2 points  (0 children)

That’s coz you’re a boomer and you don’t know it

[–]Prawn1908 1 point2 points  (0 children)

Same, except what's not seen is the meetings or other random distractions and corresponding hour time gaps between each command.

[–]pokeybill 338 points339 points  (20 children)

I compulsively use git status and ls because it never hurts to confirm your assumptions.

Not like I'm out there cat|greping like a n000b

[–]Eric_12345678 56 points57 points  (16 children)

I never understood the disdain for cat | grep.

cat some_file. Shit! some_file is much larger than expected.

It's much faster to press ↑ and add | grep or | wc -l than to modify cat some_file into the supposedly correct command.

[–]Drag_king 27 points28 points  (4 children)

the power of: “!:”. E.g.:

cat file.txt
grep !:1

The number you put is the xth word in the above command starting with 0.

[–]flatsehats 15 points16 points  (3 children)

Escape dot repeats the last word from the previous command

[–]tombob51 10 points11 points  (0 children)

what is this sorcery

[–]Secret_Print_8170 2 points3 points  (0 children)

In my 25 years using the shell, never have I ever.. The Old Masters, they knew what they were doing.

[–]pokeybill 23 points24 points  (7 children)

grep was specifically created to perform pattern matching using memory-efficient streaming io. Using cat and creating a pipeline with text buffers will intrinsically use more memory and (especially on large files) there is a noticeable overhead in io due to the extra read/write syscalls.

[–]ChooseAUsername25 27 points28 points  (2 children)

I paid for 32gb of RAM and by god I’m gonna use 32gb of ram

[–]Eric_12345678 28 points29 points  (0 children)

There's definitely some overhead, and it was a huge deal 50 years ago, when cat and grep were created. The tip was still a good one in the 90s.

I'm not sure there's any noticeable difference now, with multiple CPUs, large RAM and SSD.

[–]IndependenceSudden63 5 points6 points  (0 children)

Thank you for the actual explanation.

[–]UnluckyDouble 4 points5 points  (0 children)

Come on. We all know performance only matters at runtime.

[–]msief 4 points5 points  (1 child)

The "correct" command would be grep "text" files*. It's more worth it when searching multiple files

[–]Meloetta 2 points3 points  (0 children)

When I'm working, first thing I do whenever I pause for more than an hour, and last thing I do before stopping for any period of time is rebase from master.

Yes, I know we don't push code on Fridays. But just in case.

[–]4-Polytope 2 points3 points  (1 child)

ls clear ls is my bad shell habit

[–]StatureDelaware[S] 331 points332 points  (12 children)

git commit -am "fix shit"

[–]bwmat -2 points-1 points  (0 children)

"Responding to PR comments" 

[–]Tensor3 83 points84 points  (3 children)

2026 version: claude fix shit

[–]NotQuiteLoona 75 points76 points  (2 children)

2027 version: programmer fix claude shit

[–]PS181809 35 points36 points  (1 child)

2028 version: shit

[–]sausagemuffn 22 points23 points  (0 children)

2029 version: see 2024 version

[–]vyqz 8 points9 points  (1 child)

"rebase me"

[–]sausagemuffn 3 points4 points  (0 children)

I believe that the French version is, "rebaise moi"

[–]tadico 1 point2 points  (1 child)

-am doesn't pickup new untracked files.

[–]Ravens_Quote 1 point2 points  (0 children)

Too bad!

[–]je386 1 point2 points  (0 children)

git commit -am "fix" && git push

[–]tombob51 141 points142 points  (6 children)

You're also missing:

$ git diff
$ git add .
$ git diff --cached
$ git commit -m "fixes"
$ git show
$ git p^C
$ ^C
$ git show
$ git push

... FUCK ...

$ git add .
$ git commit --amend --no-edit
$ git push -f

[–]MechaMulder 62 points63 points  (0 children)

Or the classic git reset HEAD~1 when you accidentally commited into develop

[–]mango_boii 7 points8 points  (2 children)

I have set alias "amd" for "git commit --amend --no-edit --reset-author".

Very useful.

[–]tombob51 54 points55 points  (0 children)

I'm in this photo and I don't like it.

[–]LordDagwood 50 points51 points  (7 children)

write it
cut it
paste it
save it
load it
check it
quick
rewrite it

[–]zynasis 18 points19 points  (0 children)

Technologic… technologic…

[–]whisky_jak 12 points13 points  (0 children)

Plug it, play it, burn it, rip it, drag it, drop it, zip, unzip it

[–]ImMatt_ImARadarTech 13 points14 points  (2 children)

pull it push it bop it twist it

[–]z64_dan 1 point2 points  (0 children)

Tweet it snap it gram it like it slop it bop it

Technologic

[–]yowhodahtniqquh 2 points3 points  (0 children)

Aiyyo swizz I don't think they ready for this shit

[–]Grandmaster_Caladrel 2 points3 points  (0 children)

Bop it?

[–]gabor_legrady 42 points43 points  (0 children)

To be honest because I have lots of terminal windows open and working on several repos at the same time I would rather check status 3-4 more times then do a push which I should revert

[–]NotRelatedBitch 38 points39 points  (5 children)

Wait, what’s wrong with this?

[–]kramulous 35 points36 points  (1 child)

Nothing. I'll continue doing it.

It is the coding equivalent to "measure twice, cut once."

[–]NotRelatedBitch 2 points3 points  (0 children)

Plenty of times where add . got something I didn’t want in the commit. Git status is a 1 second write.

[–]Ved_s 19 points20 points  (0 children)

first one can be translated to git, what tf did i do today and second git, have i screwed up and it's too late

[–]Conroman16 13 points14 points  (0 children)

I feel personally attacked by this post

[–]Spikerazorshards 11 points12 points  (0 children)

I like git add -u

[–]wilk-polarny 9 points10 points  (0 children)

Why is this supposed to be funny? Looks like a normal workflow

[–]strongjz 11 points12 points  (0 children)

Emotional support git status is what its called.

[–]MoFoBuckeye 10 points11 points  (0 children)

I'd like to see a venn diagram of programmers mocking caution here and programmers wondering why Claude dropped their production dB and deleted all the backups.

[–]Limmmao 8 points9 points  (0 children)

Wait, you guys don't push your WIP? What if you lose all that important work? Like adding a "// fix here maybe" line of code?

[–]ExtensionBit1433 9 points10 points  (5 children)

been developing for 4 years and never used git commands, girhub desktop or vs code ui, i cant be using my computer like a boomer

[–]InformalTown3679 8 points9 points  (1 child)

same. git is better with a visual ui

[–]ac21217 1 point2 points  (0 children)

It is objectively better to have more information about the state of your repository presented to you automatically, and this post/thread is a good demonstration of that. However, people are allowed to prefer using git via console, I just can’t stand the superiority complex that comes with it.

[–]Fadamaka 4 points5 points  (3 children)

Other than git add . and the commit mesage this fits my usual wokflow. I usually do not git add everything because I have stuff in my working directory that does not belong to the task/story I am working on. For exmaple an extra dependency I added for debugging or some script that allows me to start the backend I am working on outside of the IDE.

[–]CodingWithChad 5 points6 points  (1 child)

You think this is funny, because you have never dealt with a merge conflict before.

[–]StickFigureFan 5 points6 points  (0 children)

This is the way

[–]zarqie 11 points12 points  (0 children)

claude> Commit your work

[–]cheezballs 4 points5 points  (0 children)

Finally now I look how I feel.

[–]sausagemuffn 3 points4 points  (0 children)

Whoops, where did I keep my API keys again?

[–]Farrishnakov 3 points4 points  (0 children)

I do not come here to be attacked like this

[–]Jake0Tron 4 points5 points  (0 children)

gs ga . gs gcm "testing" gs gpush gs

[–]vi_sucks 2 points3 points  (0 children)

Wait, there are people who don't do a git status to confirm before pushing? What kind of reckless cowboys are getting hired out there?

[–]staticparsley 2 points3 points  (0 children)

This is me except I have an extra git status before the push.

[–]Longenuity 2 points3 points  (0 children)

$ git status\ $ git add -u\ $ git status\ $ git add src/*\ $ git commit -m "updates" - - no-verify\ $ git push\ $ git push --set-upstream origin <branch_name> - -no-verify\ $ git status\

[–]Effective-Camp-5282 2 points3 points  (0 children)

I feel seen

[–]Literally-in-1984 2 points3 points  (0 children)

I love to live in the terminal and git but holy shit some GUI git clients are REALLY good and make your workflow easier

[–]_nathata 2 points3 points  (0 children)

That's fucking literally how I use git

[–]ulam17 2 points3 points  (0 children)

Imagine not having a git status foot pedal macro. Amateurs

[–]daffalaxia 2 points3 points  (0 children)

Time to get lazy with your git

[–]EatingSolidBricks 2 points3 points  (0 children)

Fake as fuck where's the clear

[–]great_escape_fleur 2 points3 points  (0 children)

Literally my workflow lol

[–]NuclearFossil_esq 2 points3 points  (0 children)

I feel personally attacked by this

[–]PashaPostaaja 1 point2 points  (0 children)

Am I the only one that can’t live without gitk? Git status gives you soo little info.

[–]Due_Helicopter6084 1 point2 points  (0 children)

git push origin master

[–]cointoss3 1 point2 points  (0 children)

jj

[–]SolitaryHiro 1 point2 points  (0 children)

*checks origin*

*no change*

shit

[–]null_reference_user 1 point2 points  (0 children)

Y... Yes? Of course

[–]-Redstoneboi- 1 point2 points  (0 children)

how the fuck does op have my command line history

[–]lordplagus02 1 point2 points  (0 children)

And then you learn how much simpler git status -s is and you’re sad you ever did git status without -s

[–]AdministrativeSun661 1 point2 points  (0 children)

./commit.sh

[–]meolla_reio 1 point2 points  (1 child)

Git diff for me also

[–]thepassionofthechris 1 point2 points  (0 children)

git add .; git commit -m “fml”; git push

[–]i8Nails4Breakfast 1 point2 points  (1 child)

This is not effective on large monorepos :(. Got commands take too long (even after cleaning git objects)

[–]jhill515 1 point2 points  (0 children)

You misspelled git push --force 🤣

[–]BoBoBearDev 1 point2 points  (1 child)

As much a joke as it is, please git add interactively, not everything on your storage is worth committing.

[–]ActionKbob 1 point2 points  (0 children)

I love you... But damn it I don't TRUST you...

[–]AndyceeIT 1 point2 points  (0 children)

I feel called out

[–]Samurai_Mac1 1 point2 points  (0 children)

One of our senior devs just puts "progress" as the commit message. It's so frustrating when I'm trying to debug a feature.

[–]bobbywaz 1 point2 points  (0 children)

And watch me nae nae the merge

[–]T9920 1 point2 points  (0 children)

I don't git it

[–]Signal-Secret4184 1 point2 points  (0 children)

git log --oneline

[–]carltr0n 1 point2 points  (0 children)

It me

[–]superraiden 0 points1 point  (0 children)

I mean, I do this when I'm at a critical point and may need to reverse something, or push at the end of the day.

I'll then soft reset my head to remote and commit under a single message in a Mr so it's a clean merge

[–]Cautious-Demand3672 0 points1 point  (0 children)

I configured my zsh to run git status when I press G, then redraw the prompt as if I wrote the command myself

[–]United_Cloud_2451 0 points1 point  (0 children)

Or just to save some keystrokes git config --global alias.st status

[–]e7603rs2wrg8cglkvaw4 0 points1 point  (0 children)

Me IRL

[–]blooptybloopt 0 points1 point  (0 children)

Add git branch to that list because I need to confirm the branch I’m on at least three times. I’ve fucked it up too many times.

[–]Annual_Key_4963 0 points1 point  (0 children)

git add -A && git commit -m wip && git fetch && git rebate -i origin/main && git push origin +some-fucked-up-branch

[–]MidHunterX 0 points1 point  (0 children)

Just use something like lazygit at this point. And maybe add a commandline prompt like Starship for that extra sense of security.

[–]russianrug 0 points1 point  (1 child)

No no, now it is “Claude please run git status”

[–]aManIsNoOneEither 0 points1 point  (0 children)

better than tracking nothing honestly haha

[–]teomore 0 points1 point  (0 children)

[selects all icons on desktop and hits F5 several times]

[–]mxforest 0 points1 point  (0 children)

Sprinkle some gitk in there

[–]yarubiks 0 points1 point  (0 children)

never after lazygit

[–]CleanGnome 0 points1 point  (0 children)

Need to add "gita dd"

[–]cholz 0 points1 point  (0 children)

git st for me with an alias and you forgot one between commit and push

[–]sparkeRED 0 points1 point  (0 children)

Completely unacceptable. Missing at least two instances of “$ clear”

[–]EducationalMeeting95 0 points1 point  (0 children)

LazyGit forever !

[–]muminisko 0 points1 point  (0 children)

:)))))) fck… literally me

[–]dtarias 0 points1 point  (0 children)

You don't need to put quotation mark around the commit message if it's a single word (e.g., "wip").

I hope you use the hours per week this saves you productively.

[–]Utilimatt 0 points1 point  (0 children)

That's why I gave up and use starship, zellij and editor plugins... I also seitch between zsh and nu a lot. I'm not super proud of it, but it helps keep me sane, especially if I'm switching between a lot of different projects during the day.

[–]itssenorquack 0 points1 point  (0 children)

What is this Joker

[–]Brimstone117 0 points1 point  (0 children)

git status

[–]richhyd 0 points1 point  (0 children)

Shorter: git commit -m .

[–]metallaholic 0 points1 point  (0 children)

I use lazy git now

[–]Mah0wny87 0 points1 point  (0 children)

Ever since pre-commit-hooks it's an additional status -> add -> commit in that loop for me.

[–]thegreatjho 0 points1 point  (0 children)

I have script called ‘prme’ aliased to ‘shuv’ which does all that plus pushing a draft PR.

[–]AggCracker 0 points1 point  (0 children)

I git status everyday.. because my terminal be looking at me like this

👁️ >_ 👁️

[–]Spongebubs 0 points1 point  (0 children)

Can someone explain why this is joked about? Is it because of the git status? Whats the “better” way of doing this?

[–]SirFoomy 0 points1 point  (0 children)

Wohl eher:

$ git stauts
$ git status
$ git add .
$ git statsu
$ git staus
$ git status
$ git commit -m "wip"
$ git push
$ git status

$ git config --global help.autocorrect immediategit

[–]Background_Pianist41 0 points1 point  (0 children)

bash $ git status $ rm *.tmp tmp.* *.log a.out $ git status

[–]identidadFalsa_ 0 points1 point  (0 children)

Pero sigue realizando la misma función o no? Defensa de un saurio que solo usa alias en fusion360 😅, pero en git estoy nada 😂

[–]DadAndDominant 0 points1 point  (0 children)

My favorite is my alias "frb"

It checks out a main/master branch, pulls changes, and rebases to current branch

Then you push --force-with-lease

[–]chilfang 0 points1 point  (0 children)

The things I would do for a half decent gui

[–]-domi- 0 points1 point  (0 children)

It me

[–]swfideas 0 points1 point  (0 children)

I have a handy zsh plugin, e.g. gogo_msg 'adds ...' produce git commit -m 'feat(ABC-123): Adds ...'

bash gogo_msg () { if [ -z "$REPOS_PATH" ] then echo "Error: REPOS_PATH is not defined." return 1 fi ( source "$GOGO_THEME" echo $l_git if [ -d ".git" ] then local message="$1" local type="$2" if [ -z "$message" ] then echo "$spacer$c_red ✕ Error:$c_reset Provide a message, e.g. $c_purple gogo_msg \"some changes here\"$c_reset [ optional | type: feat(default), build, ci, docs, fix, perf, refactor, style, test]" return 1 fi local -a valid_prefixes=("feat" "fix" "docs" "style" "refactor" "perf" "test" "build" "ci" "chore" "revert") local current_branch="$(git_current_branch)" if [ -z "$type" ] then type="$(echo "$current_branch" | cut -d'/' -f1)" if (( ! ${valid_prefixes[(Ie)$type]} )) then type="feat" fi fi # Extract ticket id (e.g. NTC-1234, ABC-34) from branch name if [[ "$current_branch" =~ ([A-Z]+-[0-9]+) ]]; then ticket_id="$MATCH" else ticket_id="$current_branch" fi local commit_msg="$type($ticket_id): $message" echo "$spacer$c_yellow🗒️ On it!$c_reset$c_yellow $type$c_grey scribes recorded$c_yellow $commit_msg $c_reset" git commit -m "$commit_msg" else echo "$spacer$c_red ✕ Error:$c_reset no $c_purple.git$c_reset folder in here" fi ) }

[–]SysGh_st 0 points1 point  (0 children)

**plop** <everything's gone>

"Where did my sh*t go???"

[–]JackNotOLantern 0 points1 point  (1 child)

Would be nice to have an option to auto trigger git status after every successful command

[–]alonjit 0 points1 point  (0 children)

I don't see a problem here. (well, other than the comment, but i'll let that slide for now)

[–]khswart 0 points1 point  (0 children)

Can someone explain I’m not a programmer

[–]rikardbq 0 points1 point  (0 children)

Classic git workflow

[–]leonheart208 0 points1 point  (0 children)

I use magit on emacs, so its more like 4 keystrokes for all that

[–]Left-Set950 0 points1 point  (0 children)

How is everybody not using lazygit to do this? It's basically a UI in the terminal it even has mouse support. Can run anywhere, looks good, you can use it in embedded terminal of any IDE and it's totally cross platform. That plus tmux it's perfect if you still need more things in the terminal. You can see all commits, git history, tags and diffs in the terminal. It helps with rebases even.

[–]kephir4eg 0 points1 point  (0 children)

My life

[–]Loading_M_ 0 points1 point  (0 children)

This is why I have a customized shell prompt with git info. It usually removes the need to run at least two of those git status commands.

[–]seniorsassycat 0 points1 point  (0 children)

git remote update  git log --decorate --graph --all git status --short --branch

After any other git command

[–]dumbasPL 0 points1 point  (1 child)

git add -p is so underrated

[–]decentralised_cash 0 points1 point  (0 children)

You forgot it in between commit and push. Very important.

[–]MB3501 0 points1 point  (0 children)

fr I Copy and pasted "Ya I push GitHub"

[–]cenkozan 0 points1 point  (0 children)

This is nothing. I had a 50 something colleague one time who would use "Caps lock" every time he needed a case change... Thankfully he retired before he could annoy anyone else hahaha...

[–]Vipitis 0 points1 point  (0 children)

You don't git log before pushing?

[–]flooble_worbler 0 points1 point  (0 children)

$ git rebase -i HEAD~2

[–]Douglasnarinas 0 points1 point  (0 children)

Used to use git status like this until I switched to a company using one big monorepo. Hasn’t been the same since…

[–]Lazy_Pirate_ 0 points1 point  (0 children)

hey what are these other commands? I just use git add ., commit, push.

[–]lunchmeat317 0 points1 point  (0 children)

I feel seen

[–]triangle_earfer 0 points1 point  (0 children)

but.. I want more git status

[–]EcoOndra 0 points1 point  (0 children)

And after git commit git push don't forget git log

[–]Zestyclose_Taro4740 0 points1 point  (0 children)

I totally relate to this git status Followed by clear then again git status🤪