上一篇14文章觸發了敏感話題,直接未過審核,看來技術博客也有敏感點。
大部分情況下,獨立項目是你一個人開發,但是當你接的項目比較大的時候,你需要其他人的幫忙,這個時候你要把代碼分享給別人。因為如果你使用一個人的FTP覆蓋開發模式,會出現改動覆蓋,當有三個人同時開發,更是噩夢般的存在。涉及到多人協作的時候,沒有代碼管理,會發現開發中一大半時間都是在扯皮互相覆蓋干擾的代碼。
? 所幸,有代碼版本管理這種東西,在十年前,git還沒流行的時候,SVN是一種替代方案,但是現在基本遠程都使用git。如果你能正常上網,建議使用github.com (代碼樣板非常多,最大的問題在于,經常卡的受不了),國內的替代方案gitee.com 。拉取代碼之前,都需要安裝git的客戶端https://git-scm.com/downloads (選擇自己對應系統安裝對應客戶端即可)。對于國內的項目開發而言,gitee.com已經足夠使用,這里做個簡單說明。
? 注冊好賬號,新建倉庫,這樣就初始化了一個項目的地址。然后將項目地址,在本地某個文件目錄下面,直接 git clone? XXX? 剛我們自己創建的倉庫地址,這樣就可以拉取到本地了,如果是私有項目,我們需要登錄一次我買的git賬號。
? ?這樣就完成了一個基礎的git初始化項目搭建,然后我們將本地等待開發的代碼放入到我們初始化的目錄里面,進行倆次操作
git add . ??//將代碼提交到緩沖區
git push? ?//推送到遠程倉庫里面(也就是我們剛搭建的git倉庫里面)
這樣項目倉庫完成第一步的初始化。我們每次開發代碼之前,同樣將別人git push的代碼拉到本地,git ?pull 這個時候,可以看到很多更新的代碼語句。
?在最簡單的情況下,這四個命令已經能完成最基礎的協同開發功能。
??? git的工作簡單流程:
git分三個區,工作區,緩存區,提交區,正常改動代碼都在工作區,如果完成本次改動,就行git? add? XX 操作就會將本次改動提交到緩存區,如果最終要推送的時候,git ?push? xx 就是將改動的那個文件提交到遠程服務器 .
?????? (2)git的常用命令小結
git 是一個工具,工具的使用是一個由新手到熟練的過程,在新手初期,我們需要掌握一些最常用的命令,可以認為90%的工作命令使用就是基本的10個命令。而要短暫的理解,只需要掌握這10個命令就完成了第一步的掌握。作為獨立開發者,無需成為git專家。
Git ?branch?? 查看當前的分支? 一般做操作之前,需要看到自己在哪個分支
git checkout -b <branch-name>? 創建一個分支,并切換過去? 當你要從別人的分支下面開始開發,在別人的分支下面新建這個命令,這樣就切換到你的分支上,然后就可以開發了。同樣當需要控制版本A,但是又有B版本任務開發的時候,也適合這種操作
Git ?merge? XX? 合并某個分支,合并的時候,如果產生沖突,需要解決對應沖突,解決之后重新git add . git push 提交。
Git log? 查看提交日志,產生沖突的時候,需要查看哪一步出現沖突,方便核對。
Git status? 當前的git狀態,會告訴你提交了沒提交。有時候代碼第二次打開的時候,你不知道你上次的代碼提交了沒有,需要查看下,當前哪些是等待提交的。
Git stash? 臨時保存修改,最典型的場景,你修改著你的代碼,這個時候,產品緊急提了個需求,你不能將你沒修改好的功能提交上去,但是又不能不優先處理產品的緊急需求,這個時候,你面臨這個抉擇,就需要git stash 來暫時儲存當前的工作進度。
Git branch? --all? 查看當前全部的分支,這個對于git項目的管理很重要,可以看到當前出現了多少分支, 多少人在提交。
?? (3)git的可視化工具
要對比改動不同,可視化工具比命令行好用很多,除了git自帶的GUI工具(相對沒有那么好用)
特點是方便,但是不是那么方便使用。
可以使用烏龜Tortise,查看歷史