記一次git使用,把本地工程上傳至github下指定repo

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時碰到了一問題

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
相關文章
相關標籤/搜索