1.安裝gitgit
2.定位到工程目錄下,右鍵打開git bashgithub
3.執行sql
>git init緩存
>git config --global user.name "secondwatchCH"bash
>git config --global user.email watch_ch@163.comssh
>ssh-keygen -t rsa -C "watch_ch@163.com"
回車,y,回車,回車,回車curl
4.在github上創建新的repo,例如https://github.com/secondwatchCH/EFS.git編輯器
打開上圖中所示的文件夾,找到id_rsa.pubpost
打開並複製到https://github.com/settings/keys下的SSH keys中。url
作完以後,驗證下是否成功。
>ssh -T git@github.com
5.上傳本地工程
>git init
>git add .
>git commit -m "first"
>git remote add origin https://github.com/secondwatchCH/EFS.git
>git push origin master
(在第一次上傳時,可能會遇到錯誤,error: failed to push some refs to)
緣由是,github中創建工程時,有時會默認創建README.md文件,而此文件可能在你本地工程中不存在。
解決辦法:執行合併,合併完成後再提交便可。
> git pull --rebase origin master
6.在不一樣機器上同步開發
我有一臺筆記本,還有一個臺式,我想一同開發,並用git進行同步。
當每次開發完代碼,可使用git更新遠程的倉庫。
>git add .
>git commit -m "experimnt"
>git push origin master
而用臺式時,首先須要更新下本地的倉庫
>git pull
若是有時候臺式機上的代碼被咱們修改了部分,這時候會報錯,由於檢測到本地代碼已經更改。
此時可用下面指令,忽略本地代碼更新,而直接與雲端代碼同步。
>git reset --hard
>git pull
6.1下載
pull時碰到了一問題
多是我在該文件下面放了數據集和結果集,致使文件過大沒法下載。我經過下面兩條語句完成了想要的功能。
>git config --global http.postBuffer 1024000000
>git pull --depth=1
6.2merge問題。
fatal: refusing to merge unrelated histories
>git pull --allow-unrelated-histories
>git reset --hard FETCH_HEAD
>git pull
6.3大文件上傳問題
碰到一個問題,在臺式機上代碼生成了一個大的數據文件。使用git上傳時提示超過100M限制。最初設想把它移出到外面去,可是任然報錯,解決,刪除本地的緩存。且可以使用ignore方法,直接放在文件夾內,不須要移出。
>git rm -r --cached .
>git commit --amend -CHEAD
>git add .
>vi
|exp3.sql
>git commit -m "ignore"
>git push origin master
若是你已經使用git push提交過不少次,且報了上述文件太大的錯誤,這些操做會被記錄下來,且須要用下面的方式清除歷史記錄並從新掃描上傳。
我最終解決是經過如下方式,
>git rebase -i
在vi編輯器中,按dd刪除2行歷史增長數據,而後!wq退出保存。
>git add .
>git commit m "ignore"
>git push origin master
必定注意!!這裏必定要再次掃描所有文件,否則你辛辛苦苦新增的東西會被丟棄掉。lz中招了!
6.4clone問題
git克隆的工程太大用https的方式會有以下問題
error: RPC failed; result=22, HTTP code = 502
fatal: The remote end hung up unexpectedly
解決辦法是,增長--depth=1,只拉取master分支的最新commit。
--depth=1