推薦學習:《》
在實際開發中我們會遇到一些問題,電腦藍屏,程式碼丟了,懊悔不?磁碟壞了,檔案沒了,懊悔不?時間長了,檔案找不到了,懊悔不?手欠,之前程式碼執行好好的,非要去優化下,結果還不如以前,信心滿滿,之前程式碼沒儲存,懊悔不?怎麼解決呢?版本控制就可以解決這些難題了。
版本控制(Version Control System),它功能強大,不僅能備份你的檔案,還可以實現很多:
名稱 | 模型 | 並行** 模式 ** | ** 歷史 **模式 | 變更** 範圍 ** | ** 網路協定 ** | ** 原子 **提交性 |
---|---|---|---|---|---|---|
CVS | Client-server | Merge | Changeset | File | Pserver,ssh | No |
SVN | Client-server | 3-way merge, recursive merge, octopus merge | Changeset and Snapshot | Tree | custom (svn), custom (svn) over ssh, HTTP and SSL (usingWebDAV) | Yes |
Git | Distributed | Merge or lock | Snapshot | Tree | custom, custom over ssh, rsync, HTTP/HTTPS, email, bundles | Yes |
簡而言之,各有優缺點,git要配合github遠端倉庫,可以避免分散式損壞。顯然最大的不同在於git是分散式的。svn有許可權控制,避免全被clone克隆走。git適合純程式碼,svn適合綜合性檔案管理,git+svn結合起來,完美。
Linus在1991年建立了開源的Linux,從此,Linux系統不斷髮展,已經成為最大的伺服器系統軟體了。Linus雖然建立了Linux的核心,但Linux的壯大是靠全世界熱心的志願者參與的,這麼多人在世界各地為Linux編寫程式碼,那Linux的程式碼是如何管理的呢?
事實是,在2002年以前,世界各地的志願者把原始碼檔案通過diff的方式發給Linus,然後由Linus本人通過手工方式合併程式碼!你也許會想,為什麼Linus不把Linux程式碼放到版本控制系統裡呢?不是有CVS、SVN這些免費的版本控制系統嗎?因為Linus堅定地反對CVS和SVN,這些集中式的版本控制系統不但速度慢,而且必須聯網才能使用。有一些商用的版本控制系統,雖然比CVS、SVN好用,但那是付費的,和Linux的開源精神不符。不過,到了2002年,Linux系統已經發展了十年了,程式碼庫之大讓Linus很難繼續通過手工方式管理了,社群的弟兄們也對這種方式表達了強烈不滿,於是Linus選擇了一個商業的版本控制系統BitKeeper,BitKeeper的東家BitMover公司出於人道主義精神,授權Linux社群免費使用這個版本控制系統。
安定團結的大好局面在2005年就被打破了,原因是Linux社群牛人聚集,不免沾染了一些梁山好漢的江湖習氣。開發Samba的Andrew試圖破解BitKeeper的協定(這麼幹的其實也不只他一個),被BitMover公司發現了(監控工作做得不錯!),於是BitMover公司怒了,要收回Linux社群的免費使用權。Linus可以向BitMover公司道個歉,保證以後嚴格管教弟兄們,嗯,這是不可能的。實際情況是這樣的:Linus花了兩週時間自己用C寫了一個分散式版本控制系統,這就是Git!一個月之內,Linux系統的原始碼已經由Git管理了!牛是怎麼定義的呢?吃瓜群眾可以體會一下。
Git迅速成為最流行的分散式版本控制系統,尤其是2008年,GitHub網站上線了,它為開源專案免費提供Git儲存,無數開源專案開始遷移至GitHub,包括jQuery,PHP,Ruby等等。歷史就是這麼偶然,如果不是當年BitMover公司威脅Linux社群,可能現在我們就沒有免費而超級好用的Git了。
每個人必須有自己的賬號,先官網註冊賬號:
https://gitee.com/
Git-2.27.0-64-bit,一路next,安裝完桌面右鍵選單有下面兩項,安裝完成。選擇Git Bash,進入git使用者端。
Windows開始選單:
建立測試檔案, 並在本地倉庫執行以下命令:
git config --global user.name "cgblpx" #設定註冊時的使用者名稱 git config --global user.email "[email protected]" #設定註冊時的郵箱 git config --list #檢查設定資訊 mkdir j2ee cd j2ee git init #初始化 在本地倉庫中,建立檔案1.txt git add 1.txt #新增檔案到git中處理 git commit -m "first commit" #提交,設定說明資訊 git remote add origin https://gitee.com/nutony/j2ee.git #遠端倉庫 git push -u origin master #把本地倉庫的資源 提交給Git伺服器
第一次執行會彈出下面的使用者名稱、密碼框,填寫碼雲的賬號資訊就可以
重新整理頁面,如果建立成功,Git上介面發生變化如下樣子,這樣環境就完成了
每日早上開始工作前拉取最新團隊其他人提交的內容,每日下班前提交可用的內容
建立專案目錄,建立新檔案,或者複製已有檔案或者複製已有目錄:
把本地檔案上傳到遠端倉庫中:
$ git add . #新增當前目錄下檔案 $ git commit -m "j2ee part" #提交,設定備註 $ git push -u origin master #推播到遠端倉庫
把遠端倉庫中的內容下載到本地:
$ git pull #從伺服器拉取最新內容
任何路徑下輸入都可以:
git config --system --unset credential.helper
然後提交操作時,會出現詢問框,重新輸入使用者名稱提示
這是是因為readme.md 沒有存在在本地git中
git pull --rebase origin master #
$ git push -u origin master #推播到遠端倉庫
–rebase用在合併程式碼的時候其作用就是在一個隨機建立的分支上處理衝突,避免了直接汙染原來的分割區。
1、先輸入$ git remote rm origin(刪除關聯的origin的遠端庫)
2、再輸入重新執行 git push -u origin master
3、如果輸入第1步 還是報錯的話,error: Could not remove config section 'remote.origin'. 我們需要修改gitconfig檔案的內容
4、找到你的github的安裝路徑,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
5、找到一個名為gitconfig的檔案,開啟它把裡面的[remote "origin"]那一行刪掉就好了!
--執行命令解決: git config --global http.sslVerify false --重新push: git push -u origin master
需要在碼雲上,把郵箱改成公開的才行
在網頁中建立倉庫名稱:cgb2109-3
進入workspace,再進入你的專案目錄,直接執行clone命令:
git clone https://gitee.com/cgblpx/cgb2109-3.git 也許: 需用執行其他的賬號密碼等命令
推薦學習:《》
以上就是範例詳解Git的常見操作的詳細內容,更多請關注TW511.COM其它相關文章!