Git
Remote Repositories
之前在用的時候常常搞不清楚remote的要怎麼更新,這邊特別對這塊做一下筆記
git clone
git clone https://github.com/telsaiori/movie_search.git
然後你就會多一個和git同名的資料夾(movie_search),裡面有所有的檔案,包括之前commit的履歷
要自己取名也可以,repository的名稱不會影響到任何事情,所以可以自由自訂
git clone https://github.com/telsaiori/movie_search.git search
這樣子資料夾名稱就會變成search
clone並不會改變原來的repository,比方你在project1資料夾中clone了其他repository 在project1中執行git remote是不會有任何東西的,必須使用git remote add gitlink
git remote
可以用來查詢你現在有哪些remote,clone過來的會自動幫你增加一個叫origin的remote,代表這個原生是從別的地方clone來的
git remote add
新增remote repository 執行之前必須跑過git init 不然會跳fatal: Not a git repository (or any of the parent directories): .git
git remote add [<options>] <name> <url>
和clone不一樣,不會幫你自動取一樣的名子,要自己取
git push
git push [remote-name] [branch-name]
要把本機更新的東西傳到git
git push origin master
這樣就可以把你的master丟到origin去 需要特別指定origin是因為理論上push後面第一個參數要是remote,所以不能直接用git push master 或者直接用 -u(--set-upstream ),這樣以後就會知道master是要track哪個remote
git push -u origin master
這樣以後就可以直接用git push就好
git push -u origin master:my_test
上面這樣是代表把你master做的變更push到remote branch"my_test"
更新fork來的repository
其實和上面講的東西依樣, 一個剛fork完並且clone到本機的更新fork來的repository 執行git remote只會有origin
只要幫他git remote add [任意remote name] [repository link] 之後再跑
git pull [剛剛取的remote name] [master]
這樣就可以把remote的master拉進來了就可以了