一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Linux|Centos|Ubuntu|系統(tǒng)進(jìn)程|Fedora|注冊(cè)表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務(wù)器之家 - 服務(wù)器系統(tǒng) - Linux - 所用的日常 Git 命令

所用的日常 Git 命令

2023-12-13 18:23未知服務(wù)器之家 Linux

Image credit: XKCD 我曾經(jīng)想過:“如果有一個(gè)最常見的 Git的列表,以及它們的功能是什么,這不是極好的嗎?” 多年之后,我編制了這樣一個(gè)列表,并且給出了一些實(shí)踐,讓新手們甚至中開發(fā)人員都能從中發(fā)現(xiàn)有用的東西。 為了保持

所用的日常 Git 命令

Image credit: XKCD

我曾經(jīng)想過:“如果有一個(gè)最常見的 Git的列表,以及它們的功能是什么,這不是極好的嗎?”
多年之后,我編制了這樣一個(gè)列表,并且給出了一些實(shí)踐,讓新手們甚至中開發(fā)人員都能從中發(fā)現(xiàn)有用的東西。

為了保持實(shí)用性,我將這個(gè)列表與我過去一周實(shí)際使用的 Git 命令進(jìn)行了比較。

幾乎每個(gè)開發(fā)人員都在使用 Git,當(dāng)然很可能是 GitHub。但大多數(shù)開發(fā)者大概有 99% 的時(shí)間只是使用這三個(gè)命令:

gitadd--all
gitcommit-am""
gitpushoriginmaster

如果你只是單槍匹馬,或者參加一場(chǎng)黑客馬拉松或開發(fā)一次性的應(yīng)用時(shí),它工作得很好,但是當(dāng)穩(wěn)定性和可維護(hù)性開始成為一個(gè)優(yōu)先考慮的事情后,清理提交、堅(jiān)持分支策略和提交信息的規(guī)范性就變得很重要。

我將從常用命令的列表開始,使新手更容易了解 Git 能做什么,然后進(jìn)入實(shí)踐。

經(jīng)常使用的命令

要想在倉庫中初始化 Git,你只需輸入以下命令即可。如果你沒有初始化 Git,則不能在該倉庫內(nèi)運(yùn)行任何其他的 Git 命令。

gitinit

如果你在使用 GitHub,而且正在將代碼推送到在線存儲(chǔ)的 GitHub 倉庫中,那么你正在使用的就是遠(yuǎn)程倉庫。該遠(yuǎn)程倉庫的默認(rèn)名稱(也稱為別名)為 origin。如果你已經(jīng)從 Github 復(fù)制了一個(gè)項(xiàng)目,它就有了一個(gè) origin。你可以使用命令 git remote -v 查看該 origin,該命令將列出遠(yuǎn)程倉庫的 URL。

如果你初始化了自己的 Git 倉庫,并希望將其與 GitHub 倉庫相關(guān)聯(lián),則必須在 GitHub 上創(chuàng)建一個(gè),復(fù)制新倉庫提供的 URL,并使用 git remote add origin 命令,這里使用 GitHub 提供的 URL 替換 。這樣,你就可以添加、提交和推送更改到你的遠(yuǎn)程倉庫了。

最后一條命令用在當(dāng)你需要更改遠(yuǎn)程倉庫時(shí)。如果你從其他人那里復(fù)制了一個(gè)倉庫,并希望將遠(yuǎn)程倉庫從原始所有者更改為你自己的 GitHub 帳戶。除了改用 set-url 來更改遠(yuǎn)程倉庫外,流程與 git remote add origin 相同。

gitremote-v
gitremoteaddorigin
gitremoteset-urlorigin

復(fù)制倉庫最常見的方式是使用 git clone,后跟倉庫的 URL。

請(qǐng)記住,遠(yuǎn)程倉庫將連接到克隆倉庫原屬于的帳戶。所以,如果你克隆了一個(gè)屬于別人的倉庫,你將無法推送到 GitHub,除非你使用上面的命令改變了 origin。

gitclone

你很快就會(huì)發(fā)現(xiàn)自己正在使用分支。如果你還不理解什么是分支,有許多其他更深入的教程,你應(yīng)該先閱讀它們,再繼續(xù)下面的操作。(這里是一個(gè)教程)

命令 git branch 列出了本地機(jī)器上的所有分支。如果要?jiǎng)?chuàng)建一個(gè)新的分支,可以使用命令 git branch ,其中 表示分支的名字,比如說 master。

git checkout 命令可以切換到現(xiàn)有的分支。你也可以使用 git checkout -b 命令創(chuàng)建一個(gè)新的分支并立即切換到它。大多數(shù)人都使用此命令而不是單獨(dú)的 branch 和 checkout 命令。

gitbranch
gitbranch
gitcheckout
gitcheckout-b

如果你對(duì)一個(gè)分支進(jìn)行了一系列的更改,假如說此分支名為 develop,如果想要將該分支合并回主分支(master)上,則使用 git merge 命令。你需要先檢出(checkout)主分支,然后運(yùn)行 git merge develop 將 develop 合并到主分支中。

gitmerge

如果你正在與多個(gè)人進(jìn)行協(xié)作,你會(huì)發(fā)現(xiàn)有時(shí) GitHub 的倉庫上已經(jīng)更新了,但你的本地卻沒有做相應(yīng)的更改。如果是這樣,你可以使用 git pull origin 命令從遠(yuǎn)程分支中拉取最新的更改。

gitpullorigin

如果您好奇地想看到哪些文件已被更改以及哪些內(nèi)存正在被跟蹤,可以使用 git status 命令。如果要查看每個(gè)文件的更改,可以使用 git diff 來查看每個(gè)文件中更改的行。

gitstatus
gitdiff--stat
命令實(shí)踐

很快你會(huì)到達(dá)一個(gè)階段,這時(shí)你希望你的提交看起來整潔一致。你可能還需要調(diào)整你的提交記錄,使得提交更容易理解或者能還原一個(gè)意外的有破壞性的更改。

git log 命令可以輸出提交的歷史記錄。你將使用它來查看提交的歷史記錄。

你的提交會(huì)附帶消息和一個(gè)哈希值,哈希值是一串包含數(shù)字和字母的隨機(jī)序列。一個(gè)哈希值示例如下:c3d882aa1aa4e3d5f18b3890132670fbeac912f7。

gitlog

假設(shè)你推送了一些可能破壞了你應(yīng)用程序的東西。你最好回退一個(gè)提交然后再提交一次正確的,而不是修復(fù)它和推送新的東西。

如果你希望及時(shí)回退并從之前的提交中檢出(checkout)你的應(yīng)用程序,則可以使用該哈希作為分支名直接執(zhí)行此操作。這將使你的應(yīng)用程序與當(dāng)前版本分離(因?yàn)槟阏诰庉嫐v史記錄的版本,而不是當(dāng)前版本)。

gitcheckoutc3d88eaa1aa4e4d5f

然后,如果你在那個(gè)歷史分支中做了更改,并且想要再次推送,你必須使用強(qiáng)制推送。

注意:強(qiáng)制推送是危險(xiǎn)的,只有在絕對(duì)必要的時(shí)候才能執(zhí)行它。它將覆蓋你的應(yīng)用程序的歷史記錄,你將失去之后版本的任何信息。

gitpush-foriginmaster

在其他時(shí)候,將所有內(nèi)容保留在一個(gè)提交中是不現(xiàn)實(shí)的。也行你想在嘗試有潛在風(fēng)險(xiǎn)的操作之前保存當(dāng)前進(jìn)度,或者也許你犯了一個(gè)錯(cuò)誤,但希望在你的版本歷史中避免尷尬地留著這個(gè)錯(cuò)誤。對(duì)此,我們有 git rebase。

假設(shè)你在本地歷史記錄上有 4 個(gè)提交(沒有推送到 GitHub),你要回退這是個(gè)提交。你的提交記錄看起來很亂很拖拉。這時(shí)你可以使用 rebase 將所有這些提交合并到一個(gè)簡(jiǎn)單的提交中。

gitrebase-iHEAD~4

上面的命令會(huì)打開你計(jì)算機(jī)的默認(rèn)編輯器(默認(rèn)為 Vim,除非你將默認(rèn)修改為其他的),提供了幾個(gè)你準(zhǔn)備如何修改你的提交的選項(xiàng)。它看起來就像下面的代碼:

pick130deo9oldestcommitmessage
pick4209feisecondoldestcommitmessage
pick4390gnethirdoldestcommitmessage
pickbmo0dnenewestcommitmessage

為了合并這些提交,我們需要將 pick 選項(xiàng)修改為 fixup(如代碼下面的文檔所示),以將該提交合并并丟棄該提交消息。請(qǐng)注意,在 Vim 中,你需要按下 a 或 i 才能編輯文本,要保存退出,你需要按下 Esc 鍵,然后按 shift + z + z。不要問我為什么,它就是這樣。

pick130deo9oldestcommitmessage
fixup4209feisecondoldestcommitmessage
fixup4390gnethirdoldestcommitmessage
fixupbmo0dnenewestcommitmessage

這將把你的所有提交合并到一個(gè)提交中,提交消息為 oldest commit message。

下一步是重命名你的提交消息。這完全是一個(gè)建議的操作,但只要你一直遵循一致的模式,都可以做得很好。這里我建議使用 Google 為 Angular.js 提供的提交指南。

為了更改提交消息,請(qǐng)使用 amend 標(biāo)志。

gitcommit--amend

這也會(huì)打開 Vim,文本編輯和保存規(guī)則如上所示。為了給出一個(gè)良好的提交消息的例子,下面是遵循該指南中規(guī)則的提交消息:

feat:addstripecheckoutbuttontopaymentspage
-addstripecheckoutbutton
-writetestsforcheckout

保持指南中列出的類型的一個(gè)優(yōu)點(diǎn)是它使編寫更改日志更加容易。你還可以在頁腳(再次,在指南中規(guī)定的)中包含信息來引用問題。

注意:如果你正在協(xié)作一個(gè)項(xiàng)目,并將代碼推送到了 GitHub,你應(yīng)該避免重新引用(rebase)并壓縮(squash)你的提交。如果你開始在人們的眼皮子底下更改版本歷史,那么你可能會(huì)遇到難以追蹤的錯(cuò)誤,從而給每個(gè)人都帶來麻煩。

Git 有無數(shù)的命令,但這里介紹的命令可能是您最初幾年編程所需要知道的所有。

Sam Corcos 是 Sightline Maps 的首席開發(fā)工程師和聯(lián)合創(chuàng)始人,Sightline Maps 是最直觀的 3D 打印地形圖的平臺(tái),以及用于構(gòu)建 Phoenix 和 React 的可擴(kuò)展生產(chǎn)應(yīng)用程序的教程網(wǎng)站 LearnPhoenix.io。使用優(yōu)惠碼:freecodecamp 取得 LearnPhoenix 的20美元。


延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 婷婷在线观看香蕉五月天 | 99热免费在线观看 | 国产一卡二卡四卡免费 | 国产在线视频在线观看 | 黑人同学征服教师麻麻 | 91大神在线观看精品一区 | 四色6677最新永久网站 | 紧身牛仔裤美女被啪啪久久网 | 国产一区二区精品久 | 日本黄a三级三级三级 | 国产精品一区二区三区免费 | 99国产精品热久久久久久夜夜嗨 | 性关系视频网站 | 热九九精品 | 秋霞在线观看成人高清视频51 | 国产9191精品免费观看 | 亚洲国产精品无码中文字满 | 暖暖免费高清完整版观看日本 | 国产麻豆精品入口在线观看 | 桃子视频www| 成人青青草 | 肉性天堂 | 日本熟hdx| 成人黄色免费网站 | 亚洲AV 中文字幕 国产 欧美 | 国产在线视频第一页 | 国产成人福利免费视频 | 久久久久久久久人体 | 我的家教老师在线观看 | 日本一区二区精品88 | 亚洲狠狠婷婷综合久久久久网站 | 日本色午夜 | 扒开放荡老师裙子猛烈的进入 | 久久这里只有精品视频9 | 国产精品成人va在线观看 | 三体动漫在线观看免费完整版2022 | 日本色网址 | 久久99re热在线播放7 | 久久这里只有精品国产精品99 | 青青青国产成人久久111网站 | 九色PORNY真实丨国产大胸 |