git 改了一段代码不想要了_初识Git
如果給所有軟件列出一個排行榜的話,那么Git定會名列前茅。Git對于代碼項目的管理是具有劃時代意義的,向Linus致敬,不但寫出了可以與Windows爭鋒的Linux系統,還設計實現了如此強大的版本管理工具。
當我了解Git后,真后悔沒有早一點學習它,那樣寫論文就不用反反復復的修修改改了,能省去多少無用功呀。
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 不僅僅是個版本控制系統,它也是個內容管理系統(CMS),工作管理系統等。
Git 與 SVN 區別點:
Git 是分布式的,SVN 不是:這是 Git 和其它非分布式的版本控制系統,例如 SVN,CVS 等,最核心的區別。
Git 把內容按元數據方式存儲,而 SVN 是按文件:所有的資源控制系統都是把文件的元信息隱藏在一個類似 .svn、.cvs 等的文件夾里。
Git 分支和 SVN 的分支不同:分支在 SVN 中一點都不特別,其實它就是版本庫中的另外一個目錄。
Git 的內容完整性要優于 SVN:Git 的內容存儲使用的是 SHA-1 哈希算法。這能確保代碼內容的完整性,確保在遇到磁盤故障和網絡問題時降低對版本庫的破壞。?
Git 初始化
任意選擇一個文件夾,本文選擇新建一個文件夾。使用 git init創建一個空的 Git 倉庫或重新初始化一個已存在的倉庫。
Git本地操作
Git最基本的操作
圖中的index指的是稍后所說的暫存區,Objects指的是稍后所說的對象區。
新建文件dota.txt。輸入內容:dota中最強的英雄是影魔。
git status查看狀態。此時文件在工作區。
git add 通過這個命令將文件放入暫存區。
git commit 通過這個命令將文件放入對象區。
git push 通過這個命令將文件push到遠端的服務器,比如github。
在遠端的服務器查看提交的文件。
Git進階操作-rebase
官方解釋的比較繁瑣,這里只說比較通用的用法。以某一個commit作為基準進行rebase。下面看具體的例子。
繼續上文中的例子,我又玩了一段時間dota,發現影魔不是最厲害的,于是修改文件為:dota中最強的英雄是電魂。通過上面的操作將修改的文件放入對象區。又玩了一段時間,發現電魂不是最厲害的,于是修改文件為:dota中最強的英雄是卡爾。類似操作,放入對象區。繼續dota,發現電魂很菜,不想要這個commit了,這個時候就可以rebase了。這里只是演示,實際工作中可能在不知道的情況下,忽然又插入了一個commit,這個時候又需要以新的commit作為基準,那么rebase就是不得不做的事情了。
git log-3?查看最近的3個commit。
git rebase-i0d3023a?使用第一個commit作為基準。
因為要刪除電魂的commit,所以將pick修改位d,如果其他需求根據需要修改。
wq?保存,有沖突。
修改沖突文件。修改后的內容是:dota中最強的英雄是卡爾
git add.
git rebase--continue
git log查看修改結果,發現電魂的commit已經被成功移除了。
常用指令
公眾號
更多內容,歡迎關注我的公眾號:無情劍客。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的git 改了一段代码不想要了_初识Git的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dorado 刷新_5.dorado查询
- 下一篇: 含有参数的sql拼接_关于SQL语句参数