如何將專案內的git push到github上面

如何將專案內的git push到github上面

情境

如果要把project丟到github
之前的作法是會先在github建立一個repository,
但是問題來了, 如果先前我們已經有對project進行git init了以後
就無法對之前的git history進行保留。

之前作法

先到github建立一個新的repository
接著透過github所給的網址輸入以下指令

git clone https://github.com/id/xxx.git

你就會看到桌面上多一個xxx資料夾
點進去看就會看到內部有一個隱藏檔案叫做 .git
這邊是一個剛初始化(git init .)的資料夾
因此你就會把你所寫的專案內容複製一份到這個資料夾內,
接著下以下的命令

git add .
git commit -m "first commit"
git push origin

如此一來就可以把你的專案丟到github上面去。

問題

如同前面所說
如果要保留先前的git history用這種方法是不可行的
這樣等同將專案從新歸類到github上的repository
因為我們要將原有專案的.git合併到github的repository該怎麼做呢?

解決辦法

一樣同上步驟
先到github建立一個repository
接著到command line下

git clone https://github.com/id/xxx.git

透過cmd line切到這個資料夾之下
將之前的專案(包含.git)複製貼上到這個資料夾
輸入以下指令

git remote add origin https://github.com/id/xxx.git
git remote set-url origin https://github.com/id/xxx.git
git push --all

如此一來就可以將原有的專案所持有的git history一起push上去github了。

注意 這邊從github新建的repository必須是新的且空的
否則會出現衝突
那又是另外一個故事了