git的常用指令(一)

2022-08-29 21:15:20 字數 2262 閱讀 9784

1、 檢視git遠端的所有分支

git branch -a

2、檢視本地已有的分支

git branch

3、本地檢出乙個新的分支並推送到遠端倉庫

一).建立本地分支

git checkout -b 新分支名

二).推送本地分支到遠端倉庫

git push --set-upstream origin 分支名

表示拉取不成功。我們需要先執行

git fetch

然後再執行

git checkout -b 本地分支名 origin/遠端分支名

5、git stash git stash pop

git stash 是將目前的修改暫存,如果在不想commit的時候又想拉取遠端的**就可以先暫存

git stash pop 是將暫存區的修改恢復,可能會碰到衝突,就修改衝突啦

6、git rebase 和 git merge 的區別

假設你現在基於遠端分支"origin",

"mywork"的分支。

git checkout -b mywork origin

現在我們在這個分支做一些修改,然後生成兩個提交(commit).

vi file.txt

git commit

vi otherfile.txt

git commit

但是與此同時,有些人也在"origin"分支上做了一些修改並且做了提交了. 這就意味著"origin"和"mywork"這兩個分支各自"前進"了,它們之間"分叉"了。

在這裡,你可以用"pull"命令把"origin"分支上的修改拉下來並且和你的修改合併; 結果看起來就像乙個新的"合併的提交"(merge commit):

但是,如果你想讓"mywork"分支歷史看起來像沒有經過任何合併一樣,你也許可以用 git rebase:

$ git checkout mywork

$ git rebase origin

這些命令會把你的"mywork"分支裡的每個提交(commit)取消掉,並且把它們臨時 儲存為補丁(patch)(這些補丁放到".git/rebase"目錄中),然後把"mywork"分支更新 到最新的"origin"分支,最後把儲存的這些補丁應用到"mywork"分支上。

當'mywork'分支更新之後,它會指向這些新建立的提交(commit),而那些老的提交會被丟棄。 如果執行垃圾收集命令(pruning garbage collection), 這些被丟棄的提交就會刪除.

現在我們可以看一下用合併(merge)和用rebase所產生的歷史的區別:

當我們使用git log來參看commit時,其commit的順序也有所不同。

假設c3提交於9:00am,c5提交於10:00am,c4提交於11:00am,c6提交於12:00am,

對於使用git merge來合併所看到的commit的順序(從新到舊)是:c7 ,c6,c4,c5,c3,c2,c1

對於使用git rebase來合併所看到的commit的順序(從新到舊)是:c7 ,c6『,c5',c4,c3,c2,c1

因為c6'提交只是c6提交的轉殖,c5'提交只是c5提交的轉殖,

從使用者的角度看使用git rebase來合併後所看到的commit的順序(從新到舊)是:c7 ,c6,c5,c4,c3,c2,c1

可以看到rebase之後自己的修改是在origin的最新的之後。

總之,如果care commit的順序的話就使用rebase吧

在rebase的過程中,也許會出現衝突(conflict). 在這種情況,git會停止rebase並會讓你去解決 衝突;在解決完衝突後,用"git-add"命令去更新這些內容的索引(index), 然後,你無需執行 git-commit,只要執行:

在任何時候,你可以用--abort引數來終止rebase的行動,並且"mywork" 分支會回到rebase開始前的狀態。

$ git rebase --abort

7、 git reset 、 git reset --hard

這兩個指令是涉及版本回退的,head指向的版本就是當前版本,因此,git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。commit_id可以通過git log找到。

commit之後就是commit_id

要重返未來,用git reflog檢視命令歷史,以便確定要回到未來的哪個版本。

隨記 git 常用指令(一)

閱前悉知 本文僅是個人在使用git的一些技巧及常用指令筆記!獲取遠端分支 同步遠端分支 git pull 獲取遠端已存在的分支資訊 git branch a 獲取遠端分支 git checkout b 本地分支名 origin 遠端分支名 建立分支 建立本地分支git branch branchna...

git的常用指令

git安裝 1,初始化 git倉儲 倉庫 這個倉庫會存放,git對我們專案 進行備份的檔案 在專案目錄右鍵開啟 git bash 命令 git init 2,自報家門 就是在 git中設定當前使用的使用者是誰 每一次備份都會把當前備份者的資訊儲存起來 命令 配置使用者名稱 git config gl...

git常用的指令

最近專案從svn遷入到git,常用的git指令需要用到 git config global user.name user name git config global user.email email email.com 初始化 git init 加倉庫 git remote add origin ...