git gui 历史版本_这些Git命令都不会,还是不要去面试了
生活随笔
收集整理的這篇文章主要介紹了
git gui 历史版本_这些Git命令都不会,还是不要去面试了
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
以下,項(xiàng)目中經(jīng)常使用的Git命令,匯總到這里以便與你能快速的學(xué)習(xí)和掌握Git命令,在文章最后有驚喜喲,一定要看到最后啊!
使用的 Git版本:git version 2.24.0
命令
git log#?輸出概要日志,這條命令等同于#?git?log?--pretty=oneline --abbrev-commitgit log --oneline#?指定最近幾個(gè)提交可以帶上 - + 數(shù)字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'
查看日志,常規(guī)操作,必備
git status
查看工作區(qū)狀態(tài)的東東,不如GUI直觀,但是命令行也有一些用的
git statusgit?status?-sgit?status?--show-stashgit checkout用來切換到對(duì)應(yīng)記錄的,可以基于分支,提交,標(biāo)簽。
切提交和標(biāo)簽一般用來熱修復(fù)或者老版本需要加新特性。
git checkout devgit checkout?origin/test
git checkout?--track?origin/feature-test
git checkout -b testbranch
git checkout?-- file
git checkout .
git checkout -
git commit
天天打交道的命令,這里說一些很常見的姿勢(shì)
git?commit?--amend?--no-editgit?commit?--no-verify?-m?"xxx"
git?commit?-m?"xxx"
git?commit?-t?templateFile
git?commit?-F
git reset
不得不說,代碼回滾中這個(gè)命令也是用的很多,而且是?--hard
git?reset?--hard commit_sha1git?reset?--soft commit_sha1git?reset?--soft HEAD~1git?reset?--mixed commit_sha1git?reset?--merge?commit_sha1git?reset?--keep?commit_sha1git revert
一般用于master 的代碼回滾,因?yàn)槎嗳嗽谏厦鎱f(xié)作,
revert?可以平穩(wěn)的回滾代碼,但卻保留提交記錄,不會(huì)讓協(xié)作的人各種沖突
git revert?commit-sha1git rebase
變基在項(xiàng)目中算是很頻繁的,為什么這么說。
比如你開發(fā)一個(gè)新的 feature, 遵循最小化代碼提交的理念。
在整個(gè)功能開發(fā)完畢的時(shí)侯,會(huì)有非常多的 commit,用?rebase?可以讓我們的commit記錄很干凈
git?rebase?-i?git-sha1|branch(HEAD)git?rebase?--continuegit?rebase?--skipgit?rebase?--abort- pick: 是保留該 commit(采用)
- edit: 一般你提交的東西多了,可以用這個(gè)把東東拿回工作區(qū)拆分更細(xì)的 commit
- reword: 這個(gè)可以重新修改你的 commit msg
- squash: 內(nèi)容保留,把提交信息往上一個(gè) commit 合并進(jìn)去
- fixup: 保留變動(dòng)內(nèi)容,但是拋棄 commit msg
- drop:?用的比較少,無用的改動(dòng)你會(huì)提交么!!!
- 本地提交之前,最好把基準(zhǔn)點(diǎn)變?yōu)樾枰喜⒌姆种?#xff0c;這樣提交 PR/MR 的時(shí)侯就不會(huì)沖突(本地來解決沖突)
- 不要在公共分支上變基!!!一變其他協(xié)作者基本都一堆沖突!除非你們有很清晰的分支管理機(jī)制
git merge
git?merge?--no-ff branchNamegit pull
git pull中用的最多是帶--rebase(-r)的方式(變基形式拉取合并代碼),保持分支一條線。默認(rèn)的pull會(huì)走ff模式,多數(shù)情況會(huì)產(chǎn)生新的commit,部分參數(shù)與?merge提供一致。git push
當(dāng)本地分支存在,遠(yuǎn)程分支不存在的時(shí)侯,可以這樣推送關(guān)聯(lián)的遠(yuǎn)程分支git?push?origin?localbranchgit?push?-d?origin?branchNamegit?push?--tagsgit?push?--follow-tagsgit?push?-f?origin?branchNamegit?push?--force-with-leasegit remote
這個(gè)東西用在你需要考慮維護(hù)多個(gè)地方倉(cāng)庫(kù)的時(shí)侯會(huì)考慮,或者修改倉(cāng)庫(kù)源的時(shí)侯git?remote?add?origin?urlgit?remote?add?github?urlgit?remote?set-url??origin(或者其他上游域)?urlgit branch該命令用的最多的就是刪除本地分支,重命名分支,刪除遠(yuǎn)程分支了git?branch?-d?branchNamegit?branch?-M oldBranch newNameBranchgit?branch?--set-upstream-to=origin/xxxgit?branch?--set-upstream-to?origin?xxxgit stash
暫存用的最多時(shí)侯就是你擼代碼擼到一半,突然說有個(gè)緊急 BUG 要修正。或者別人在你這里需要幫忙排查代碼,你這時(shí)候也會(huì)用到。強(qiáng)烈建議給每個(gè)?stash添加描述信息!!!git stash save stashNamegit 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
這個(gè)命令的強(qiáng)大之處,是記錄了所有行為,包括你?rebase,merge, reset這些當(dāng)我們不小心硬回滾的時(shí)侯,或變基錯(cuò)了都可以在這里找到行為之前的commit,然后回滾。當(dāng)然這個(gè)時(shí)間回溯也只在本地有用,你推送到遠(yuǎn)程分支的破壞性改動(dòng),該涼還是得涼。git?reflog?-5git cherry-pick
這個(gè)東西你可以理解為你去買橘子,你會(huì)專門挑一些符合心意的橘子放到購(gòu)物籃中。你可以從多個(gè)分支同時(shí)挑取部分需要的 commit 合并到同一個(gè)地方去,是不是賊騷。這貨和變基有點(diǎn)類似,但是僅僅類似,挑過來的 commit 若是沒有沖突則追加。有沖突會(huì)中斷,解決后?--continuegit cherry-pick?commit-sha1git cherry-pick?master~4?master~2git cherry-pick startGitSha1..endGitSha1git rm
這個(gè)命令在舊的版本用的比較最多的姿勢(shì)是為了重新索引.gitignore 的范圍git rm?--cache?-- filegit rm -r?--cached?.git?add?.git?commit?-m?"xxx"git rev-parse
這個(gè)估計(jì)一般人用的不是很多,可以通過這個(gè)快速獲取部分git 倉(cāng)庫(kù)的信息我在弄腳本的時(shí)侯就會(huì)從這里拿東西git?rev-parse?--short HEAD --verifygit?rev-parse?--show-toplevelgit?rev-parse?--git-dirgit?rev-parse?--allgit diff
對(duì)于這個(gè)命令,在終端比對(duì)用的不是很頻繁,除了少量改動(dòng)的時(shí)侯可能會(huì)用這個(gè)看看。其他情況下我更傾向于用 GUI 工具來看,因?yàn)楸葘?duì)更加直觀。總結(jié)
git 的常用命令其實(shí)很好掌握,很多命令都有 Linux 的影子。列出來的命令都是高頻使用的,或許有一些更騷的姿勢(shì)沒有摸索到,有更好建議的,或者發(fā)現(xiàn)不對(duì)之處的請(qǐng)留言,會(huì)及時(shí)修正,謝謝閱讀。總結(jié)
以上是生活随笔為你收集整理的git gui 历史版本_这些Git命令都不会,还是不要去面试了的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信名搞笑网名大全75个
- 下一篇: 打印pdf就一页_PDF 文件转换工具