關於git常用操作

2021-09-29 20:20:47 字數 3729 閱讀 9871

git統稱為倉庫response。它分為工作區和.git區,工作區就是除開.git資料夾的當前資料夾。.git區又包含暫存區,head指標和分支資訊。

工作區和暫存區當存在修改內容時,是無法pull push merage等操作的。工作區和暫存區修改內容所有分割槽都能看見。只有把他們commit到某乙個分支後,其他分支才看不到。

命令:

git add

提交到暫存區

git add .不包括刪除檔案

git add -u 不提交新建檔案

git add -a   git add -all上面2個命令的集合。

暫存區檔案所有分支都能看,但是提交暫存區只能提交到某乙個指定分支。

git commit

暫存區提交到當前分支

git commit -m '描述' 暫存區提交到當前分支

git status

檢視本地倉庫狀態(在工作區、暫存區有無檔案、解決衝突時檢視具體衝突檔名等):

git branch

分支資訊相關

git branch yss 建立分支

git branch -a

檢視所有分支包括遠端分支

git branch -vv

檢視本地分支和遠端分支的關聯資訊。

git branch --set-upstream-to=origin/dev設定本地分支和遠端分支的關聯:

解釋:當前分支關聯到遠端的dev分支。注意倉庫關聯是先建立好了的,分支關聯是後建立的。

git checkout

git checkout -b yss 建立分支並head指向該分支(切換到該分支)

git checkout -b dev origin/dev  建立分支並head指向該分支並關聯遠端分支

git checkout yss 切換分支

git checkout . 清除修改檔案(未add和commit的),該命令只能清除修改檔案,對於新增的檔案和資料夾清除需要執行

git clean

git clean -d清除新增檔案(未add和commit的)

git reset回滾

git reset .已經add了的用該命令重置。

git reset 《時間id> 已經commit了的,使用該方法回滾。可以通過git log --oneline --all –graph檢視回到指定時間線。

git pull

拉取:注意暫存區和工作區有修改內容,是無法pull的。

git push

推送:同樣暫存區和工作區有修改內容,是無法push的。

git merge

合併git merge dev  解釋:把dev分支merge到當前分支。

git remote

遠端倉庫

git remote -v檢視本地倉庫關聯的遠端倉庫位址

git log

檢視所有分支合併資訊

git log --oneline --all --graph

--oneline顯示單行  --all所有分支   --graph左側顯示時間線

常用命令:

git log --oneline --all –graph

git status

git checkout master

git merge dev 注意是當前分支被dev合併。

git的回滾以及撤銷

1、還未進行add和commit操作

git checkout .

該命令只能清除修改檔案,對於新增的檔案和資料夾清除需要執行

git clean -d

2、對於已經add了的

git reset .

已經add了的用該命令重置。

3、對於已經執行了commit命令的分支。

git reset 《時間id>

可以通過git log --oneline --all –graph檢視回到指定時間線。

規範操作:

1、關聯乙個本地分支和遠端分支做為pull和push用,如dev分支。

2、在本地新建乙個yss分支做為本地開發使用

操作步驟:

1、先把dev分支pull一次,保障本地最新。

2、建立個本地分支yss,切換到yss分支,並merge dev分支到yss,保證yss最新。

3、在yss分支上寫**。

4、寫完**後,把所有工作區修改內容commit到yss分支上。

5、切換到dev分支,從git伺服器重新pull一次最新**,注意一定要先pull一次,保證把伺服器**最新的pull到本地dev分支。

6、merge yss分支到dev分支上。

7、再把dev分支push到遠端dev分支上。

解決衝突:

步驟6很容易出現衝突,原因在於yss分支操作的時候,別人在伺服器上push了檔案,而檔案被dev分支pull下來後與yss的檔案有衝突。解決方法:

1。當執行了merge卻有衝突時,此時處於一種暫時分支狀態,在該狀態上使用git status檢視衝突檔案。如果是文字檔案,可以直接檢視衝突位置進行修復。

2.也可以退出暫時分支(退出命令在git status檢視時可以看到退出命令),把dev分支最新的衝突檔案覆蓋yss分支,當然這樣yss分支上的修改就被丟失了。然後重新提交合併等操作。

建立本地分支,並與遠端分支關聯

1、git init  //初始化git

2、git remote add origin 3、git pull  拉取

4、git checkout master

注意當初始化乙個git本地倉庫的時候,由於並沒有commit過,所以head指標不會指向任何分支,檢視分支資訊的時候是不會顯示任何分支。

由於沒有本地檔案建立修改,此時執行git add . 和git commit -m也是無效的。

要使本地分支和遠端分支關聯,此時需要git pull遠端倉庫,再執行一次切換到master分支,就會自動關聯這個分支。

注意當本地先有相同名字的分支後,再執行git pull,再切換才會自動關聯上。所以先建立多個和遠端分支相同名字的分支,再pull再切換本地分支,就會都關聯上。

重新命名本地分支和遠端分支:

git branch -m oldbranchname newbanchname//重新命名本地分支

git push origin :oldbranchname//刪除對應遠端分支

git push origin newbranchname//本地重新命名分支提交到倉庫上

關於Git的常用操作記錄

看到user.name 和user.email 的配置 git config list 如果你沒有初始化過,那麼直接 git config global user.name 輸入你的使用者名稱 git config global user.email 輸入你的郵箱 如果初始化過,輸入 git con...

git常用操作

git是一款分布式的版本控制軟體,相比svn,功能更強大,自然而然操作更複雜一些。git在本地也是以git版本庫的形式管理,而svn在本地管理的僅是乙個版本庫的副本。很明顯的乙個不同點 git你可以在本地做一些修改,然後commit到本地的版本庫,最後push到伺服器,而svn只要一commit,更...

Git常用操作

有時候我們需要修改之前提交的時候的說明資訊,沒有操作命令可以直接完成,但是使用rebase命令可以實現。例如我們要修改倒數第二次的提交的說明資訊 git rebase i head 3 注意 這裡head 後面跟著的是3而不是2,因為這裡指的是要修改的提交的父提交。之後會進入到文字編輯介面,如下圖 ...