git 改了一段代码不想要了_初识Git
如果給所有軟件列出一個(gè)排行榜的話,那么Git定會名列前茅。Git對于代碼項(xiàng)目的管理是具有劃時(shí)代意義的,向Linus致敬,不但寫出了可以與Windows爭鋒的Linux系統(tǒng),還設(shè)計(jì)實(shí)現(xiàn)了如此強(qiáng)大的版本管理工具。
當(dāng)我了解Git后,真后悔沒有早一點(diǎn)學(xué)習(xí)它,那樣寫論文就不用反反復(fù)復(fù)的修修改改了,能省去多少無用功呀。
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.
Git 和SVN
Git 不僅僅是個(gè)版本控制系統(tǒng),它也是個(gè)內(nèi)容管理系統(tǒng)(CMS),工作管理系統(tǒng)等。
Git 與 SVN 區(qū)別點(diǎn):
Git 是分布式的,SVN 不是:這是 Git 和其它非分布式的版本控制系統(tǒng),例如 SVN,CVS 等,最核心的區(qū)別。
Git 把內(nèi)容按元數(shù)據(jù)方式存儲,而 SVN 是按文件:所有的資源控制系統(tǒng)都是把文件的元信息隱藏在一個(gè)類似 .svn、.cvs 等的文件夾里。
Git 分支和 SVN 的分支不同:分支在 SVN 中一點(diǎn)都不特別,其實(shí)它就是版本庫中的另外一個(gè)目錄。
Git 的內(nèi)容完整性要優(yōu)于 SVN:Git 的內(nèi)容存儲使用的是 SHA-1 哈希算法。這能確保代碼內(nèi)容的完整性,確保在遇到磁盤故障和網(wǎng)絡(luò)問題時(shí)降低對版本庫的破壞。?
Git 初始化
任意選擇一個(gè)文件夾,本文選擇新建一個(gè)文件夾。使用 git init創(chuàng)建一個(gè)空的 Git 倉庫或重新初始化一個(gè)已存在的倉庫。
Git本地操作
Git最基本的操作
圖中的index指的是稍后所說的暫存區(qū),Objects指的是稍后所說的對象區(qū)。
新建文件dota.txt。輸入內(nèi)容:dota中最強(qiáng)的英雄是影魔。
git status查看狀態(tài)。此時(shí)文件在工作區(qū)。
git add 通過這個(gè)命令將文件放入暫存區(qū)。
git commit 通過這個(gè)命令將文件放入對象區(qū)。
git push 通過這個(gè)命令將文件push到遠(yuǎn)端的服務(wù)器,比如github。
在遠(yuǎn)端的服務(wù)器查看提交的文件。
Git進(jìn)階操作-rebase
官方解釋的比較繁瑣,這里只說比較通用的用法。以某一個(gè)commit作為基準(zhǔn)進(jìn)行rebase。下面看具體的例子。
繼續(xù)上文中的例子,我又玩了一段時(shí)間dota,發(fā)現(xiàn)影魔不是最厲害的,于是修改文件為:dota中最強(qiáng)的英雄是電魂。通過上面的操作將修改的文件放入對象區(qū)。又玩了一段時(shí)間,發(fā)現(xiàn)電魂不是最厲害的,于是修改文件為:dota中最強(qiáng)的英雄是卡爾。類似操作,放入對象區(qū)。繼續(xù)dota,發(fā)現(xiàn)電魂很菜,不想要這個(gè)commit了,這個(gè)時(shí)候就可以rebase了。這里只是演示,實(shí)際工作中可能在不知道的情況下,忽然又插入了一個(gè)commit,這個(gè)時(shí)候又需要以新的commit作為基準(zhǔn),那么rebase就是不得不做的事情了。
git log-3?查看最近的3個(gè)commit。
git rebase-i0d3023a?使用第一個(gè)commit作為基準(zhǔn)。
因?yàn)橐獎(jiǎng)h除電魂的commit,所以將pick修改位d,如果其他需求根據(jù)需要修改。
wq?保存,有沖突。
修改沖突文件。修改后的內(nèi)容是:dota中最強(qiáng)的英雄是卡爾
git add.
git rebase--continue
git log查看修改結(jié)果,發(fā)現(xiàn)電魂的commit已經(jīng)被成功移除了。
常用指令
公眾號
更多內(nèi)容,歡迎關(guān)注我的公眾號:無情劍客。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的git 改了一段代码不想要了_初识Git的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dorado 刷新_5.dorado查询
- 下一篇: 一般将来时语法课教案_【语法视频课】第4