git常用命令

2022-05-08 18:12:10 字數 3179 閱讀 2203

分支管理策略:一般來說都是乙個master分支,這個分支只用來發布新版本,不在上面幹活,應該新建乙個dev分支,平時都在dev上面幹活,每個人乙個分支,之後合併到dev上面就行,要發布時就把dev合併到master分支上即可。

git stash 把當前工作現場先存起來(不是add也不是commit),可以暫時去做其他事,之後(主要應用場景是當前手頭工作沒做完不能commit,但是又有緊急的bug需要切換到其他分支上去修復)

git stash list 檢視所有存起來的工作現場

git remote 檢視遠端庫資訊,遠端庫預設名字是origin,git remote -v檢視更詳細的資訊

git push origin

將分支推送到遠端的branch分支上

如果在git clone時不指定branch名稱,那麼clone下來的只會包含遠端的master分支,在這之後如果要切換到遠端的某一分支上,例如dev分支,那麼就需要git checkout -b dev origin/dev,用這個命令建立本地的dev分支,然後就可以在這個dev上修改,並在之後隨時push

如果多個人同時關聯了遠端庫(多人協作時),在push的時候,發現有人已經向remote推送了他的提交,而你對同樣的檔案做了修改,那麼在push的時候就會報錯rejected推送失敗,因為有衝突,所以這時候應該git pull拉取最新的提交並(自動地)在本地合併,產生衝突,然後本地解決衝突之後再add、commit,再push。

git pull 從遠端拉取最新的修改到本地並合併,如果有衝突則需要在本地解決。git pull相當於git fetch加上merge

接著上面的說,如果本地解決衝突再push上去之後,其他的人是不會自動的獲得更新訊息的,就是說別人使用git status會提示up to date with origin/,他們需要git fetch或者git pull之後才能獲取到遠端最新的變動

git fetch 從遠端取回所有分支的更新(但不會自動合併)

git fetch origin

從遠端取回branchname分支的更新(但不會自動合併)。使用fetch之後就可以用git status檢視到本地和遠端之後的變動了。

git rebase 變基

git diff 不帶引數就是比較工作區和stage中filename檔案的不同

git diff --cached 比較stage和repository中filename檔案的不同

git diff head 比較工作區和repository中filename檔案的不同

標籤git add . 只新增當前目錄下的更改

git add -a 新增repository中所有目錄下的修改

在本地新建乙個分支再push到遠端: git checkout -b newbranch,git push origin newbranch 

git cherry-pick 、 git cherry-pick ..這裡的一般來說不是當前分支上的,而是另乙個分支上的,用於將另乙個分支上的提交commit(或者說複製到、摘抄到)到當前分支,詳見:git 場景——從乙個分支cherry-pick乙個或多個commit到另乙個分支

分支管理策略:一般來說都是乙個master分支,這個分支只用來發布新版本,不在上面幹活,應該新建乙個dev分支,平時都在dev上面幹活,每個人乙個分支,之後合併到dev上面就行,要發布時就把dev合併到master分支上即可。

git stash 把當前工作現場先存起來(不是add也不是commit),可以暫時去做其他事,之後(主要應用場景是當前手頭工作沒做完不能commit,但是又有緊急的bug需要切換到其他分支上去修復)

git stash list 檢視所有存起來的工作現場

git remote 檢視遠端庫資訊,遠端庫預設名字是origin,git remote -v檢視更詳細的資訊

git push origin

將分支推送到遠端的branch分支上

如果在git clone時不指定branch名稱,那麼clone下來的只會包含遠端的master分支,在這之後如果要切換到遠端的某一分支上,例如dev分支,那麼就需要git checkout -b dev origin/dev,用這個命令建立本地的dev分支,然後就可以在這個dev上修改,並在之後隨時push

如果多個人同時關聯了遠端庫(多人協作時),在push的時候,發現有人已經向remote推送了他的提交,而你對同樣的檔案做了修改,那麼在push的時候就會報錯rejected推送失敗,因為有衝突,所以這時候應該git pull拉取最新的提交並(自動地)在本地合併,產生衝突,然後本地解決衝突之後再add、commit,再push。

git pull 從遠端拉取最新的修改到本地並合併,如果有衝突則需要在本地解決。git pull相當於git fetch加上merge

接著上面的說,如果本地解決衝突再push上去之後,其他的人是不會自動的獲得更新訊息的,就是說別人使用git status會提示up to date with origin/,他們需要git fetch或者git pull之後才能獲取到遠端最新的變動

git fetch 從遠端取回所有分支的更新(但不會自動合併)

git fetch origin

從遠端取回branchname分支的更新(但不會自動合併)。使用fetch之後就可以用git status檢視到本地和遠端之後的變動了。

git rebase 變基

git diff 不帶引數就是比較工作區和stage中filename檔案的不同

git diff --cached 比較stage和repository中filename檔案的不同

git diff head 比較工作區和repository中filename檔案的不同

標籤git add . 只新增當前目錄下的更改

git add -a 新增repository中所有目錄下的修改

在本地新建乙個分支再push到遠端: git checkout -b newbranch,git push origin newbranch 

git cherry-pick 、 git cherry-pick ..這裡的一般來說不是當前分支上的,而是另乙個分支上的,用於將另乙個分支上的提交commit(或者說複製到、摘抄到)到當前分支,詳見:git 場景——從乙個分支cherry-pick乙個或多個commit到另乙個分支

常用命令 Git 常用命令大全

安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...

git 常用命令

檢視是否存在檔案需要上傳 git status git add git commit m 建立遠端倉庫 git remote add origin 116.255.146.153 ruby cd work daily project.git 更新git fetch 116.255.146.153 r...

git常用命令

詳細 1,git log p 命令來顯示每一次提交與其父節點提交內容之間快照的差異。2,為了檢視載入 staged 而並未提交 not committed 的內容差異,可以使用 git diff stage 命令 在git 1.6之前的版本中,使用 cached 適應情形 在執行git commit...