發表文章

目前顯示的是有「git」標籤的文章

GIT - 如何更新github上的branch跟folk回來的專案branch同步

圖片
假設今天我們folk一個open source專案到自己的github上<圖表的第1步>,並clone到開發機上做開發 <圖表的第2步> ,但假設open source上的master branch還在持續更新中,如何到更新到我們自己的github上的master呢? # # 對應圖表的第3步 # 首先在開發機上,在你開發的git 資料夾底下輸入 # 我們這邊以phprados為例 $ git remote add name url # git remote add ceph https://github.com/ceph/phprados $ git fetch name branchname # git fetch ceph master $ git pull --rebase name branchname # git pull --rebase ceph master # 對應圖表的第4步 # 更新至我們github上的master $ git push origin branchname # git push origin master # 這樣即可更新我們github上的master與open source 專案的master是一樣的版本了。

GIT - reset 使用說明

假如在local端已經commit了,需要還原到上一筆或是前幾筆再重新commit的話 可以先用以下cmd列出所有commit id $ git log 要還原到上一筆coomit或是前幾筆 # 還原到上一筆commit $ git reset HEAD^ # 還原到指定的commit $ git reset commit_id # 這時用git status,可以發現你修改過的資料都還留著 # 假如不想保留資料直接還原 $ git reset --hard HEAD^  $ git reset --hard commit_id # 假設commit id為 aaa->bbb->ccc->ddd最新commit為ddd,想還原到bbb $ git reset bbb 假如是遠端的branch想還原指定的commit,假設要還原master,即可以把遠端還原至你指定的commit $ git checkout master $ git reset --hard commit_id $ git push --force origin master

GIT - 常用基本指令

== 帳號設定 == # 設定git 帳號跟email # 可以在特定專案底下設置 $ git config user.name "name" $ git config user.email "email" # 也可以套用在系統全部套用設定 $ git config --global user.name "name" $ git config --global user.email "email" == Branch 操作 == # 切換並同時建立以當下為基礎的branch $ git checkout -b "new branch name" # 列出目前local有使用過的branch,以及目前位於哪個branch $ git branch # 列出所有的branch $ git branch -a # 列出 remote的branch $ git branch -r # 刪除 remote的branch $ git push origin --delete <branchName> or $ git push origin : <branchName> # 刪除本地的branch $ git branch -d <branchName> # 強制刪除本地的branch $ git branch -D <branchName> == commit 操作 == # 修改上一筆commit 訊息 $ git commit --amend == 檔案 操作 == # 還原file至修改前的狀態 $ git checkout <filename> # 把檔案暫存到staging裡,準備commit $ git add <filename> # 把所有動過或新增的檔案都暫存到staging裡 $ git add -a # 顯示目前branch的檔案狀態 $ git status # 顯示所有log $ git log # 顯示倒數最後n筆lo...