Git實用操作命令

mkdir gitrepo
cd gitrepo
git clone https://github.com/yhuiz/testgit.git // 從遠程倉庫拿數據在本地創建一個分支,這一刻這個本地分支和遠程master分支是一樣的

cd robot // 進入剛創立的本地分支目錄

git branch // 查看本地分支,顯示應該只有一個分支名字是master

git branch -vva // 查看本地和遠程分支,並顯示他們的詳細狀態。應該看到兩個分支,一個是本地的,一個是遠程的。

git checkout -b my_work_1 // 以現在所在的分支爲基礎,創建一個新的本地分支,名字叫做my_work_1,並且轉入my_work_1分支


注意:所有的程序開發都應該在一個非MASTER的本地分支上面。本地的master分支主要是用來把別的本地分支的修改放入遠程master的。


git branch // 顯示現在有兩個本地分支了,而且你現在在my_work_1分支上面。

如果你要回到master本地分支,用
git checkout master
再回到my_work_1
git checkout my_work_1

任何時候你都可以用 “git branch” 和”git status”來查看當前的狀態

以上是假設你沒有修改任何文件,假設你處在my_work_1本地分支上,並修改了一個文件,這個時候你想轉到本地master分支上面,又不想把目前的文件修改帶過去,這個時候有兩個不同的辦法

  1. 把這個修改commit到my_work_1分支上,假設你在my_work_1分支上,
    git add modified_file // 一定要先把修改用add加入commit名單
    git commit -m “修改原因” // commit是在本地my_work_1分支,本地master和遠程master都還沒有這個修改。

  2. 把修改保存起來,以後可以再拿出來,以下列出了一些有關保存修改的命令
    git stash -u // 保存當前所有改動,存在一個棧裏面。
    git stash list // 查看所有保存的修改。
    git stash apply // 拿出最後的修改
    git stash drop stash@{0} // 刪除最後的修改
    git stash pop // 拿出並刪掉最後的修改

當你在my_work_1分支commit或者保存了修改以後,用”git status”查看,顯示已經沒有修改了,這時可以用”git checkout master”轉入本地的master分支。

==================================================================================================
假設你的修改已經commit到本地的my_work_1分支了,以下步驟介紹如何把修改放入遠程倉庫,這樣所有的人都能看到你的修改。

git checkout master // 假設本來在my_work_1分支,現在轉到本地master分支

git pull origin master // 從遠程master拿到最新的版本,遠程可能有別人的修改。這裏假設已經有一個other_work的修改。執行完後本地master分支也包含other_work

git checkout my_work_1 // 從master轉到my_work_1

git rebase master // 把所有本地master分支的內容插入到my_work_1, 並且把my_work_1的本地修改放在最上面。注意這時my_work_1分支同時包含你的本地修改和other_work

// resolve possible conflicts // 這時你的本地修改有可能和別人的other_work有衝突,如果是需要找到衝突部分手動修改

test // 如有必要,測試合併後的程序

git checkout master // 如果沒有衝突或者修復了衝突,從my_work_1轉回到master

git merge my_work_1 // 把my_work_1裏面的內容併入master

git push origin master // 把本地master分支的內容存入到遠程倉庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章