Git經常使用命令及做用

忙裏偷閒的時候,有一好友又來問我關於Git的命令問題。(爲啥是又,由於關於這個問題,他至少問了我三四五六遍了……每次講完,過段時間一定忘!!!也不知腦回路是咋整的???)
爲了讓他這個常常記不住的童鞋不要每次都來問我相同的問題,我決定把他能用到的命令,都列出來,做用也標明。
童鞋,下次本身來看文章啊~~~
No.1 克隆遠程倉庫git

git clone 遠程倉庫名 例如:https://gitee.com/****/****

No.2 查看遠程分支app

git branch -a

圖片描述

注:當前分支 僅有master一個遠程分支
No.3 建立本地分支test,環境切換爲test分支並推送至遠程(此時test的全部內容均爲master內容,也就是說,test分支是基於master的新的分支)spa

git checkout -b test
// 此時在文件夾中增長一個readme.txt文件(也就是說,test分支內容已更改)
// 將test分支推送至遠程
git add .
git commit -m "add readme.txt"
git push --set-upstream origin test
// 僅有第一次推送至遠程時須要以上的push命令 
// 在test分支以後更改內容推送至遠程時 均使用git push便可

圖片描述

No.4 多人協同開發過程當中,出現場景爲,同窗A 在分支dev上開發,同窗B在test上開發。此時同窗B須要基於同窗A的內容,開發新需求。操做步驟應爲:將本身本地test分支推送至遠程,確認無誤後,切換爲同窗A的dev分支,同時基於dev分支建立新分支名爲feature-dev,而後在新的分支上進行開發code

// 先拉取最新內容
git pull
// 切換至dev分支 
git checkout dev
// 查看當前所在分支
git branch -a
// 新建並切換至分支 feature-dev
git checkout -b feature-dev
// 此時再次查看當前所在分支
git branch -a
// 當前所在分支爲feature-dev 進行一些內容操做 例如:增長兩張圖片
git add .
git commit -m "add photo"
git push --set-upstream origin feature-dev
// 此時已經將feature-dev分支推送至遠程 
// 接下來再修改內容須要add、commit、push便可

圖片描述

No.5 如今狀況是,我須要在同窗A的dev分支上去合併個人feature-dev的東西,也就是說,我須要把我更改的內容,合併到人家dev的分支上。此時我應該作的是:git pull 先獲取最新內容,而後切換至dev分支,而後合併我更改的內容blog

// 拉取最新 切換至dev

git pull 
git checkout dev
// 此時在dev分支,準備合併feature-dev的內容
git merge --squash feature-dev
// --squash 當在feature-dev分支上提交過不少回時,使用此命令能夠將多條commit合併爲一條
// 即爲 多條合併 若是有錯回退的時候也方便
// 若是有衝突,解決衝突,若是沒有衝突便可提交
git add .
git commit -m "dev merge feature-dev"
git push
// 此時合併已完成

圖片描述

No.6 嗯,我還沒想到有啥經常使用的,有啥須要補充的隨時補充吧~~~
補充1:這個補充來的有點快
No.7 同窗正在修改dev分支,而後呢,臨時任務,須要修改分支master,此時怎麼辦呢?
此時有幾種狀況:
一、在當前dev分支,git add ,而後git commit 提交,可是不須要push到遠程。此時切換至master,master並不會有dev分支的任何修改。
二、在當前dev分支,git add ,而後呢,不想commit,怎麼辦呢!!! 此時咱們能夠git stash,此時呢,會把全部未提交的修改(包括暫存的和非暫存的)都保存起來,用於後續恢復當前工做目錄。而後咱們切換到master去改東西,改完後切回咱們的dev分支時,git stash apply,將咱們剛剛儲藏的東西再拉回來,好了,繼續改咱們dev的內容吧。
三、在當前dev分支,git add ,而後呢,不想commit,也不想stash,直接切換分支,此時魔鬼操做來了!!!你在dev的修改東西所有帶進master,魔鬼操做,你只是想修改個master的東西,居然把你不想提交的東西也帶過來了。魔鬼不!!!因此這種操做不可取,不可取,不可取!!!除非你確實想把dev的東西帶到master。🙂圖片

相關文章
相關標籤/搜索