日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

5年程序员生涯,使用的最频繁的Git 命令总结

發布時間:2024/9/15 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 5年程序员生涯,使用的最频繁的Git 命令总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方小詹學Python,選擇“標星公眾號”

優質文章,第一時間送達

作者:CRPER

鏈接:juejin.im/post/5de8d849e51d455808332166

前言

匯總下我在項目中高頻使用的git命令及姿勢。

不是入門文檔,官方文檔肯定比我全面,這里是結合實際業務場景輸出。

使用的 Git版本:git version 2.24.0

命令

git log

#?輸出概要日志,這條命令等同于 #?git log?--pretty=oneline --abbrev-commit git log --oneline#?指定最近幾個提交可以帶上 - + 數字 git log --oneline -5#?提供類似 GUI 工具的 log?展示 git log --graph --date=relative --pretty=tformat:'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%an %ad)%Creset'

查看日志,常規操作,必備

git status

查看工作區狀態的東東,不如GUI直觀,但是命令行也有一些用的

git status git status -s git status --show-stash git checkout

用來切換到對應記錄的,可以基于分支,提交,標簽。

切提交和標簽一般用來熱修復或者老版本需要加新特性。

git checkout devgit checkout origin/testgit checkout --track origin/feature-testgit checkout -b testbranchgit checkout -- filegit checkout .git checkout -

git commit

天天打交道的命令,這里說一些很常見的姿勢

git commit?--amend --no-editgit commit?--no-verify -m "xxx"git commit?-m "xxx"git commit?-t templateFilegit commit?-F

git reset

不得不說,代碼回滾中這個命令也是用的很多,而且是 --hard

git reset?--hard commit_sha1 git reset?--soft commit_sha1 git reset?--soft HEAD~1 git reset?--mixed commit_sha1 git reset?--merge commit_sha1 git reset?--keep commit_sha1

git revert

一般用于master 的代碼回滾,因為多人在上面協作,

revert?可以平穩的回滾代碼,但卻保留提交記錄,不會讓協作的人各種沖突

git revert commit-sha1

git rebase

變基在項目中算是很頻繁的,為什么這么說。

比如你開發一個新的 feature, 遵循最小化代碼提交的理念。

在整個功能開發完畢的時侯,會有非常多的 commit,用 rebase?可以讓我們的commit記錄很干凈

git rebase -i git-sha1|branch(HEAD) git rebase --continue git rebase --skip git rebase --abort
  • pick: 是保留該 commit(采用)

  • edit: 一般你提交的東西多了,可以用這個把東東拿回工作區拆分更細的 commit

  • reword: 這個可以重新修改你的 commit msg

  • squash: 內容保留,把提交信息往上一個 commit 合并進去

  • fixup: 保留變動內容,但是拋棄 commit msg

  • drop:?用的比較少,無用的改動你會提交么!!!

突然發現截圖還有幾個新的行為,估計是新版本帶來的,

從字面上就可以看出來大體的意思, 就是把回滾和打標簽這些放到變基中簡化操作。

溫馨提示:

  • 本地提交之前,最好把基準點變為需要合并的分支,這樣提交 PR/MR 的時侯就不會沖突(本地來解決沖突)

  • 不要在公共分支上變基!!!一變其他協作者基本都一堆沖突!除非你們有很清晰的分支管理機制

git merge

git merge?--no-ff branchName

git pull

git pull中用的最多是帶--rebase(-r)的方式(變基形式拉取合并代碼),保持分支一條線。

默認的pull會走ff模式,多數情況會產生新的commit,部分參數與 merge提供一致。

git push

當本地分支存在,遠程分支不存在的時侯,可以這樣推送關聯的遠程分支

git push origin localbranch git push -d origin branchName git push --tags git push --follow-tags git push -f origin branchName git push --force-with-lease

git remote

這個東西用在你需要考慮維護多個地方倉庫的時侯會考慮,或者修改倉庫源的時侯

git remote add origin url git remote add github url git remote set-url??origin(或者其他上游域) url

git branch

該命令用的最多的就是刪除本地分支,重命名分支,刪除遠程分支了

git branch -d branchName git branch -M oldBranch newNameBranch git branch --set-upstream-to=origin/xxx git branch --set-upstream-to?origin xxx

git stash

暫存用的最多時侯就是你擼代碼擼到一半,突然說有個緊急 BUG 要修正。

或者別人在你這里需要幫忙排查代碼,你這時候也會用到。

強烈建議給每個 stash?添加描述信息!!!

git stash save stashName git stash -u save stashName git stash push -m "更改了 xx" git stash apply stash@{0} git stash pop stash@{0} git stash list git stash clear? git stash drop stash@{0} git stash show stash@{0}

git reflog

這個命令的強大之處,是記錄了所有行為,包括你 rebase,merge, reset?這些

當我們不小心硬回滾的時侯,或變基錯了都可以在這里找到行為之前的commit,然后回滾。

當然這個時間回溯也只在本地有用,你推送到遠程分支的破壞性改動,該涼還是得涼。

git?reflog -5

git cherry-pick

這個東西你可以理解為你去買橘子,你會專門挑一些符合心意的橘子放到購物籃中。

你可以從多個分支同時挑取部分需要的 commit 合并到同一個地方去,是不是賊騷。

這貨和變基有點類似,但是僅僅類似,挑過來的 commit 若是沒有沖突則追加。

有沖突會中斷,解決后 --continue

git cherry-pick commit-sha1 git cherry-pick master~4?master~2 git cherry-pick startGitSha1..endGitSha1

git rm

這個命令在舊的版本用的比較最多的姿勢是為了重新索引.gitignore 的范圍

git rm --cache -- file git rm -r --cached . git add . git commit?-m "xxx"

git rev-parse

這個估計一般人用的不是很多,可以通過這個快速獲取部分git 倉庫的信息

我在弄腳本的時侯就會從這里拿東西

git rev-parse --short HEAD --verify git rev-parse --show-toplevel git rev-parse --git-dir git rev-parse --all

git diff

對于這個命令,在終端比對用的不是很頻繁,除了少量改動的時侯可能會用這個看看。

其他情況下我更傾向于用 GUI 工具來看,因為比對更加直觀。

總結

git 的常用命令其實很好掌握,很多命令都有 Linux 的影子。

列出來的命令都是高頻使用的,或許有一些更騷的姿勢沒有摸索到,

有更好建議的,或者發現不對之處的請留言,會及時修正,謝謝閱讀。

來和小伙伴們一起向上生長呀!

掃描下方二維碼,添加小詹微信,可領取千元大禮包并申請加入 Python 學習交流群,群內僅供學術交流,日常互動,如果是想發推文、廣告、砍價小程序的敬請繞道!一定記得備注「交流學習」,我會盡快通過好友申請哦!

????長按識別,添加微信

(添加人數較多,請耐心等待)

????長按識別,關注小詹

(掃碼回復 1024 領取程序員大禮包)

總結

以上是生活随笔為你收集整理的5年程序员生涯,使用的最频繁的Git 命令总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。