從Git到GitHub,詳細教程
阿新 • • 發佈:2017-08-16
文件夾 想象 可能 機制 安裝完成 公開 style run 離線
4、在單機上合並分支。
5、把服務器上最新版的代碼fetch下來,然後跟自己的主分支合並。
6、生成補丁(patch),把補丁發送給主開發者。
7、看主開發者的反饋,如果主開發者發現兩個一般開發者之間有沖突(他們之間可以合作解決的沖突),就會要求他們先解決沖突,然後再由其中一個人提交。如果主開發者可以自己解決,或者沒有沖突,就通過。
8、一般開發者之間解決沖突的方法,開發者之間可以使用pull 命令解決沖突,解決完沖突之後再向主開發者提交補丁。
從主開發者的角度(假設主開發者不用開發代碼)看,git有以下功能:
1、查看郵件或者通過其它方式查看一般開發者的提交狀態。
2、打上補丁,解決沖突(可以自己解決,也可以要求開發者之間解決以後再重新提交,如果是開源項目,還要決定哪些補丁有用,哪些不用)。
3、向公共服務器提交結果,然後通知所有開發人員。
優點:適合分布式開發,強調個體。公共服務器壓力和數據量都不會太大。速度快、靈活。任意兩個開發者之間可以很容易的解決沖突。離線工作。
缺點:資料少(起碼中文資料很少)。學習周期較長。不符合常規思維。代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息。
GITHUB:gitHub是一個面向開源及私有軟件項目的托管平臺,因為只支持git 作為唯一的版本庫格式進行托管,故名gitHub。
GitHub 使用 git 分布式版本控制系統,而 git 最初是 LinusTorvalds 為幫助Linux開發而創造的,它針對的是 Linux 平臺,因此 git 和 Windows 從來不是最好的朋友,因為它一點也不像 Windows。GitHub 發布了GitHub for Windows,為 Windows 平臺開發者提供了一個易於使用的 Git 圖形客戶端。
說了怎麽多,還是不懂,git和GitHub到底能幹啥!通俗的說,比如你正在開發一個項目,一不小心刪除了一段代碼,然後保存,後面發現沒法找回這段代碼了,這就傻眼了,但是,如果你用了git,他能幫助我們記錄項目中任何的增刪改,你隨時可以查看操作日誌,隨時可以恢復到任何一步的版本;當然git再強大,也只能是在本地單打獨鬥,一旦有了GitHub,那就不一樣了,我們可以把多個開發者通過一個GitHub項目鏈接起來,想象一下,遠在他想的同事在GitHub上下載了你提交的版本version1,然後修改提交version2,你把version2下載下來後,git能自動幫你把修改的部分整合到你的項目中,還能告訴你改了哪些內容,然後你得到version3,大家都這樣幹了,開發起來效率就會高很多。
小編是通過菜鳥教程一步步學習git到GitHub的,相信會對你有幫助,下面我就把學習過程中遇到的一些坎,列出來,供大家參考:
1.下載安裝都沒有問題
2.安裝完成後我們需要學習一些基礎的git命令,教程中也有,在這給大家提供一個更詳盡的帖子:http://www.cnblogs.com/cspku/articles/Git_cmds.html
3.然後是理解git的工作機制,教程中有
4.現在就可以創建git倉庫了。git需要一個文件夾作為倉庫,這個文件夾可以是新建的,也可以是你已有的目錄,在用git init命令時不用考慮文件夾裏的文件會不會收到影響,放心吧,不會的。所以你可以放心大膽的在任何目錄下執行這個命令,建立倉庫。
5.倉庫建立好之後,就可以跟著教程試一試那些簡單的git 命令。我們學習git是想要為以後項目開發服務的,所以只要我們在項目的文件夾中git init,我們就相當遠把自己的項目裝進了這個新建的倉庫裏面,以後我們針對項目的各種操作,git都會幫我們詳細的記錄下來。
6.難點在於遠程倉庫GitHub的使用,我在下面這個地方遇到小的阻礙:
按照教程,當我執行到這一步,發現找不到.ssh文件夾,搞的我以為自己之前的操作錯了,後來才在下圖中的地方找到這個文件夾,所以你到這個地方註意哈!
還有需要註意的是, id_rsa.pub文件裏的key很長,看起來好像還是換了行的,當你用記事本打開的時候不用管它,直接Ctrl+A,Ctrl+C,Ctrl+V,搞定。
還有,上圖中標箭頭的只是教程中自己起的名字,看著像命令,當你操作時一定要換成自己的倉庫名和用戶名。
等你到這一步的時候,相信你已經有小小的成就感了,這一步可以暫時不用管,因為你除非你是公司的項目或者什麽高大上的涉密項目,這一步暫時還用不上!
眾所周知,一個稍微有點規模的項目,都不可能是一個人單打獨鬥完成的(能完成的大神別打我),所以,一個高效的項目團隊就需要一個NB的工具來進行有效的交流(曾經有人問我企鵝不就可以嗎,我竟無言以對),今天就把我學習GitHub這牛叉利器的心路歷程記錄下來,希望能幫到大家!
首先,介紹一下這兩個nx的工具!
GIT:Git是一款免費、開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的項目。
從一般開發者的角度來看,git有以下功能:
1、從服務器上克隆完整的Git倉庫(包括代碼和版本信息)到單機上。 2、在自己的機器上根據不同的開發目的,創建分支,修改代碼。 3、在單機上自己創建的分支上提交代碼。
從Git到GitHub,詳細教程