1.安裝git
2.定位到工程目錄下,右鍵打開git bash

3.執行
>git init
>git config --global user.name "secondwatchCH"
>git config --global user.email watch_ch@163.com
>ssh-keygen -t rsa -C "watch_ch@163.com"
回車,y,回車,回車,回車

4.在github上建立新的repo,例如https://github.com/secondwatchCH/EFS.git
打開上圖中所示的文件夾,找到id_rsa.pub

打開並復制到https://github.com/settings/keys下的SSH keys中。

做完之后,驗證下是否成功。
>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時碰到了一問題
RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 Gateway Time-out The
可能是我在該文件下面放了數據集和結果集,導致文件過大無法下載。我通過下面兩條語句完成了想要的功能。
>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
