多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > git入門教程 簡單易懂

git入門教程 簡單易懂

來源:程序員人生   發布時間:2014-11-03 08:36:35 閱讀次數:3041次
最流行的版本控制軟件:git ======================== git已是當前最流行的版本控制軟件之1了。全球的http://www.vxbq.cn都在使用它。它出自linus大神之手,現在被用于內 核的版本控制。在最流行的代碼托管軟件github,你幾近可以找到所有開源項目的代碼。 版塊控制軟件:我需要嗎? ----------------------- 的確對許多人――特別是非http://www.vxbq.cn,他們可能不會想到已出現了專門的版本控制的軟件。但其實多人對版本控 制其實都有類似的需求,舉個例子,Tom是社團的秘書處成員,他們常常需要做的事情就是寫活動文檔,然后不停地 改改到大家都覺得可以了。 不榮幸的話,Tom可能有個文件夾叫“openSUSE活動策劃",里面有這樣的1堆文件”openSUSE活動策劃", "活動策 劃1", "活動策劃2", "活動策劃3", "活動策劃4" ... "活動策劃20" (可憐的Tom,1份文檔改了很多于20次) 這類作法很有效,由于我們可能發現第5個版本的策劃有問題,我們準備在第3個版本上面重新來過。但是也看到, 這個作法有些很丑陋的地方:1份文件,我們留了20個備份,而且還要注意文件名。 如果可以這樣就行了:文件夾上只有1個“openSUSE活動策劃",但當我需要第5個版本的時候,我來1個”給我還 原到第5個版本吧!“,然后這時候候我們打開這個文件,它就是第5個版本的了。類似的,我們可以取出任意的版本 。 這就是版本控制。這類事情在程序里面產生的太多了,因而出現了各種版本控制軟件。事實上,有些項目已發展 到第1000+乃至更高的版本數了…… 單線的工作流 ------------ 我們可以把我們的1個項目想象為1個倉庫,然后我們可以把我們的東西塞進倉庫里面,也能夠把想要的東西拿出 來。而git則是倉庫的管理員。下面是1個例子,希望有1個直觀的印象,不求完全的理解和掌握。 ```bash mkdir myproject // 假定myproject是工作目錄 cd myproject     git init        // git <- (init) ,告知倉庫管理員,在當前目錄初始化 echo 'Eat the banana' > file   // 編輯了1個文件 git add file                   // 加入倉庫 git commit -m 'add first file' // 提交更改 echo 'Eat the apply' > file    // 修改了這個文件 git add file                   // 加入倉庫 git commit -m 'update first file' // 再提交更改 ``` 這時候候我們就有兩個commit了,我們來看看工作日志: ```bash git log # 以下是輸出 # commit ac1371173b4e630ddaebda3f9f5d948b36146c07 # Author: Norman Mo <LTaoist@@@> # Date:   Thu Jun 27 21:59:10 2013 +0800 # #     update first file # # commit 3c43cc913454f92bb4b80c56ba45e4ffaf556fc0 # Author: Norman Mo <LTaoist6@@@@> # Date:   Thu Jun 27 21:58:48 2013 +0800 # #     add first file ``` 看到了,我們提交了兩次。我們來看看現在file里面是甚么: ```bash cat file # 明顯輸出是 'Eat the apply' # 現在,我們來拿回第1個版本的file文件 git checkout 3c43cc913454f92bb4b80c56ba45e4ffaf556fc0 -- file cat file # 這時候候就是eat banana了 ``` 這類工作的方式是單人使用最多見的方式,寫1點代碼,提交1下到倉庫里面。寫1點,提交到倉庫里面。然后出 問題的時候就回退過去。git非常強大,基本上你想到的他都可以做到,提交到倉庫的數據基本不會丟失,像時間機 器1樣控制著代碼。 多人協作 -------- git非常強大,上面只是1個功能。斟酌Tom的秘書處有兩個人,他們在同時寫。其中Tom寫前6章,他的同伴寫第7~ 12章。 這時候候可以斟酌用這類工作的方式:設立1個公共的倉庫。Tom保護自己的版本,他的同伴保護自己的版本。然后大 家定期把代碼合并到公共倉庫上面,然后定期把新的版本取回來合并再提交到公共倉庫。 如果他們用純文本,得益于1些文本分析的方法,幾近不需要校訂就能夠做到。 ``` git commit -m 'finish ch5' // 假定此時Tom寫完了第5章 git push // Tom將代碼推送到遠程倉庫 ``` ``` git commit -m 'finish ch11' // 假定此時Tom的同伴完成了第11章 git pull // pull會將最新版本拉下來,合并,然后推送到遠程倉庫 ``` 實際上工作中,為了不混淆,會新開1個分支來開發新的特性,然后對分支進行合并。 代碼自動發布 ----------- 另外一個很強大的功能是可以實現代碼的自動發布。事實上,很多云就有使用這個。具體來講,利用git的hooks,當 http://www.vxbq.cn/server/收到1個push,http://www.vxbq.cn/server/可以自動運行1些腳本。也能夠在客戶端使用hooks,當客戶端準備push的時候,客戶 端先運行1些腳本。 例如,我們希望在每次http://www.vxbq.cn/server/收到push以后,殺死全部的 `p` 進程,然后重開 `p` 進程。我們可以修改 `hooks/ post-receive` : ``` echo "Killing all p process..." killall ⑼ p echo "Restart p process..." p ``` 更多更多更多…… --------------- 這份教程就到這里了,更多的自己馬上動手去試試吧! 在openSUSE的安裝方法: ``` sudo zypper in git ``` 默許應當就裝了。 1般linux命令查看幫助都是 `--help` 選項: ``` git --help ``` 另外,對1個子命令也是有help看的: ``` git init --help ``` 這里有1個交互教程,在閱讀器上面跑的摹擬git的運行的,有興趣的試試: <http://try.github.io/> github的help文檔寫得很不錯,推薦1下: <https://help.github.com/> 書籍有個遠近聞名的《Pro Git》,而且有中文版的,雖然我認為這本書太厚了。。。但似乎就這么1本書…… <http://git-scm.com/book/zh> 國內有個gitcafe,也是做git托管的,他們也有整理1份help: <https://gitcafe.com/GitCafe/Help> 記得,上面只是1個演示,多試試push,多嘗試。有1天你會喜歡用這個有效的工具的。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 成人久久伊人精品伊人 | 男女羞羞视频网站 | 爆操网站 | 亚洲国产欧美日韩一区二区三区 | 日本在线不卡一区二区 | 国产自在自拍 | 在线观看中文字幕第一页 | 欧美一区二区三区不卡免费观看 | 国产成人一区二区三区 | 女人18毛片a | 波多野一区二区三区在线 | 中文字幕在线永久在线视频2020 | 五月丁色 | 亚洲黄色大片 | 国产国拍亚洲精品av | 欧美图片另类小说综合 | 咸片在线网站免费观看 | 999yy成年在线视频免费看 | 国产一国产一有一级毛片 | 波多野野结衣1区二区 | 国内精品91久久久久 | 99精品国产在这里白浆 | 国产永久福利 | 欧美精品一区午夜小说 | 图片区小说区校园 | 中文字幕在线播放第一页 | 国产精品一区二区三区高清在线 | 中文字幕二区 | 国产精品久久毛片蜜月 | 日韩一级片免费 | 亚洲第一区二区快射影院 | 国产精品高清一区二区三区不卡 | 国产亚洲精品资源一区 | 一级做a爰片久久毛片看看 一级做a爰片久久毛片美女 | 欧美日韩a∨毛片一区 | 中文字幕在线观看 | 日本免费精品 | 日本不卡在线播放 | 国产在线a | 欧美一区二区久久精品 | 亚洲一区二区影院 |