git是乙個開源的分布式版本控制系統,可以有效、高速的處理從很小到非常大的專案版本管理。 git 是 linus torvalds 為了幫助管理 linux 核心開發而開發的乙個開放原始碼的版本控制軟體。
系統特點:
1.分布式系統(**管理很方便)
2.開源專案開發
3.mac,linux系統上開發推薦使用
4.轉殖擁有乙個將近一萬個提交(commit)五個分支每個分支大約有1500檔案,用時1分鐘
靈活性:
1.可以單機操作,git伺服器故障也可以在本地git倉庫工作
2.出了push和pull(或fetch)操作,其他都可以在本第操作
3.根據自己開發任務任意在本地建立分支
4.日誌都是在本地檢視,效率較高
安全性:
安全性較高每個開發者的本地都是一套完整板本庫,記錄著版本庫的所有資訊(gitfab)整合了備份功能
分支方面:
1.我們可以在git的任意乙個提交點(commit poit)開啟分支(gitcheckout.b newbranch hashid)
2.拉分支時間較快,因為拉分支只是建立檔案的指標和head
3.自己本地建立的分支不會影響其他人
4.比較適合多分支並行開發
5.git checkout hash值(切回之前的版本,無需版本回退) 強大的cherry-pick
版本控制:
1.git只關心檔案資料的整體發生變化,更像是把檔案做快照,檔案沒有改變時,分支只想這個檔案的指標不會改變,檔案發生改變,指標指向新版本
2.40位長的雜湊值作為版本號,沒有先後之分
3.gitrebas操作可以更好地保持提交記錄整潔
工作流程:
1.開始工作前進行fetch操作 完成開發工作後push操作,有衝突解決衝突
2.git的提交過程不會被打斷,有衝突會標記衝突檔案
3.gitflow流程(經典)
內容管理:
對程式的源**管理方便,**庫占用的空間少。易於分支化管理
學習成本:
更在乎效率而不是易用性,成本較高(有很多獨有命令,rebase,遠端倉庫互動命令,等等)
許可權管理:
git沒有嚴格的許可權管理控制,只有賬號角色分化(在專案的home檔案下有且只有乙個git目錄)
管理平台:
git'lab(建議使用整合的功能較多,api開發),gernit github等
git init
git clone [url]
例:git clone
// 新增乙個新的 remote 遠端倉庫
git remote add [remote-name] [url]
例:git remote add origin
origin:相當於該遠端倉庫的別名
// 列出所有 remote 的別名
git remote
// 列出所有 remote 的 url
git remote -v
// 刪除乙個 renote
git remote rm [name]
// 重新命名 remote
git remote rename [old-name] [new-name]
git rm file.txt // 從版本庫中移除,刪除檔案
git rm file.txt -cached // 從版本庫中移除,不刪除原始檔案
git rm -r *** // 從版本庫中刪除指定資料夾
git add . // 新增所有檔案
git add file.txt // 新增指定檔案
git commit -m "注釋"
// 撤銷最近的乙個提交.
git revert head
// 取消 commit + add
git reset --mixed
// 取消 commit
git reset --soft
// 取消 commit + add + local working
git reset --hard
git push [remote-name] [loca-branch]:[remote-branch]
例:git push origin master:master
git status
git fetch [remote-name]/[branch]
git merge [remote-name]/[branch]
pull = fetch + merge
git pull [remote-name] [branch]
例:git pull origin master
// 列出分支
git branch
// 建立乙個新的分支
git branch (branch-name)
// 刪除乙個分支
git branch -d (branch-nam)
// 刪除 remote 的分支
git push (remote-name) :(remote-branch)
// 切換到乙個分支
git checkout [branch-name]
// 建立並切換到該分支
git checkout -b [branch-name]
##與github建立ssh通訊,讓git操作免去輸入密碼的繁瑣。
ssh key must begin with 'ssh-ed25519', 'ssh-rsa', 'ssh-dss', 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384', or 'ecdsa-sha2-nistp521'. -- from github
根據以上文段我們可以知道github所支援的ssh密匙型別,這裡我們建立ssh-rsa密匙。
在command line 中輸入以下指令:``ssh-keygen -t rsa``去建立乙個ssh-rsa密匙。如果你並不需要為你的密匙建立密碼和修改名字,那麼就一路回車就ok,如果你需要,請您自行google翻譯,因為只是英文問題。
在本地倉庫根目錄建立 .gitignore 檔案。win7 下不能直接建立,可以建立 ".gitignore." 檔案,後面的標點自動被忽略;
/.idea // 過濾指定資料夾
/fd/* // 忽略根目錄下的 /fd/ 目錄的全部內容;
*.iml // 過濾指定的所有檔案
!.gitignore // 不忽略該檔案
資料控使用Hadoop的三種最常用方式
hadoop使用的一般模式 hadoop最初的構想是為像yahoo google facebook等這樣的公司以非常低的成本來解決大量資料的儲存問題。現在,它正被越來越多地引入企業環境中處理新不同資料型別。機器生成的資料 感測器資料 社交資料 網路日誌等資料型別呈指數級增長,而且這些資料也常常 但不...
Android各版本市場占有率
天極網軟體頻道 2015 08 04 13 32 分享到 我要吐槽 天極軟體頻道訊息 今天google公布了乙份最新的android系統不同版本的市場占有率報告,報告稱整體來說安卓系統的碎片化問題依然非常嚴重。市場占有率排名第一的是android kitkat 奇巧巧克力 該系統在今年6月的占有率為...
Android常用應用市場和應用包名
工作中使用到,記錄分享給大家。華為應用商店 com.tencent.android.qq 小公尺應用商店 com.xiaomi.market oppo應用商店 com.oppo.market oppo應用商店 除錯oppo m80發現應用商店 com.heytap.market vivo應用商店 魅...