我是一個ios開發(fā)灭贷,用的mac 電腦 比較推薦的 終端神器iTerm2和用來代替bash的oh-my-zsh妒潭,
1 配置簡單環(huán)境
oh-my-zsh 提供了強大的命令提示 使用 tab 就可以找到許多相關(guān)的命令 和 還可以使用別名 類似使用 一個命令的快捷方式 等等特別多好用的功能 詳情可以百度 下oh-my-zsh
(1)下載 安裝 zsh 跑一條簡單命令即可
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
使用curl 下載 并使用管道 sh install.sh 執(zhí)行腳本 重啟一下終端即可以看到你的iterm2 有些不同的變化了
(2)配置別名簡化你的命令操作
舉個例子vim ~/.zshrc
進入vim 敲擊鍵盤字母 a進入編輯模式 然后在后面復(fù)制 alias xxx='你要執(zhí)行的命令,然后點擊鍵盤esc 鍵盤輸入 :wq 保存退出 ,然后source .zshrc 或者重啟一下你的終端你的別名就生效了,然后你就只需要輸入別名就可以代替你那一長串復(fù)雜的命令,真是工作效率高了不少,上面的例子也可以看到 我只要輸入一個work 就可以代替了cd Desktop/qianluduobao/duoBao 通過pwd 查看當前目錄我的確可以達到想要的效果
(3)發(fā)掘更多強大的效果 ,百度輕松可以找到很多資料合住,也可以在http://ohmyz.sh 他的官網(wǎng)上面看到相關(guān)的文檔
2 開始使用命令
這里開始介紹一些工作常用到的許多命令
(1)查看性的git 命令
可以看到 上圖 ,oh-my-zsh 當他檢測到含有g(shù)itcofig的文件自動幫你表明當前projiect 所在的分支撒璧,簡單明了
git branch
查看你當前所在的分支
git fetch
當你在 github 或者gitlab 的庫創(chuàng)建了分支 你可以通過git fetch 或者那個分支
git log
查看你本地的提交項透葛,當然commit id 是(即是 commit 后面跟著一串字符)非常有用的東西后面會說到
git status
查看你當前分支有沒有什么改動項 或者說一些文件是否受到git 管理等等
2 功能性命令
git clone +url
這個將某個功能拉取到當前目錄
git add + 文件名
將某個文件加入到git 管理
git commit -am "提交說明"
將你全部的修改項都提交到本地的git 庫
.gitignore
這個是幫你把一些不想加進git 管理的一個配置文件,只要你在里面寫入對應(yīng)的文件名 或者 文件夾的路徑 就可以自動過濾掉 舉個例子
這里提交了一個vim 是一個 終端的文本編輯器卿樱,vim .gitignore 當你沒有這個文件時他會自動幫你創(chuàng)建好僚害,在用vim 編輯你想要過濾的文件,首先git status 看下你想要過濾的文件
這里看到了一些我不想要git 管理的文件 然后把他們路徑復(fù)制到 .gitignore 中
在vim 中 敲下鍵盤的字母 a 進入編輯模式 可以看到下面有個 insert 然后復(fù)制想要過濾的路徑 然后敲下 鍵盤的esc 退出編輯模式 輸入 :wq 保存并退出
在 git status 我們已經(jīng)看到 git 未跟蹤的目錄已經(jīng)沒有剛剛那個路徑了繁调,然后在 git add .gitignore 然后在 git commit -am 就可以了
git pull
拉取當前的分支git 遠程庫
git push
將本地提交項推送到遠程庫上面
git merge
當某些分支有提交項 我想把那個分支的提交項目和新增的文件合并到當前分支就可以使用 git merge萨蚕,舉個例子 我當前在 yydb 分支 想把master 的提交項合并過來
我先切換到master (git checkout + 分支名) 然后git pull 拉取最新代碼 然后切回到y(tǒng)ydb分支
第一步切到master 是為了將master 更新到最新的代碼然后在合過來避免不必要的問題 ,然后直接執(zhí)行 git merge master 就可以了把master 代碼合并到當前分支了
這時候往往會因為當前分支一些修改的東西和想合并分支修改的東西不一致產(chǎn)生沖突 如圖的CONFLTCT靶草,看到這些不用急,如果是一些老司機可能直接用vim 就直接沖突全改了岳遥,而我vim 小白就用了sublime 這個文本工具了
我們可以看到CONFLTCT 后面接著文件沖突的路徑我們將projiect 拉進sublime 對著路徑一點點去處理就OK了 奕翔,在舉個例子
上面截圖可以看到Tool/DBInfoTool.m 這里路徑是有沖突的用sublime 找到這個文件
可以看到所有的沖突都是<<<<<<HEAD 只有在commod +f 搜索帶有<<<<<HEAD
的字符串 修改即可
<<<<<<< HEAD
NSDate *newDate = [DBInfoTool getStringDate:DBApplyTime];
=======
NSDate *newDate = [DBInfoTool getStringDate: DBApplyTime];
>>>>>>> master
其中 <<<<<<< HEAD
NSDate *newDate = [DBInfoTool getStringDate:DBApplyTime];
=======
這個部分是你當前分支的
=======
NSDate *newDate = [DBInfoTool getStringDate: DBApplyTime];
>>>>>>> master
這個則是你要合并的分支
你看需要保留那邊的代碼 改好去掉 <<<<<<< HEAD ======= >>>>>>> master
這些多余的字符就可以了
git reset
代碼回滾 如果你發(fā)現(xiàn)當前的代碼有問題,你就可以通過git 版本庫會退到你想要的版本浩蓉,這里就要用到之前的commit id 了
首先git log 查看commit id
好我現(xiàn)在想要回退到提交說明為派继,增加審核切換到域名灰度,并用時間判斷審核
那么就 git reset --hard commit id 即可妻往,頭指針已經(jīng)指向了響應(yīng)的版本
如果你想要回到遠程庫的版本也可以這樣的
git reset --hard origin/當前分支名
比較常用到的git 命令基本都在這里了互艾,如果以后還會遇到一些別的也會更新在這里,如果有什么說錯的讯泣,也希望可以留言讓我更正一下