Git使用詳細篇(全解)

2021-10-02 16:19:49 字數 3826 閱讀 1500

版本控制是一種記錄乙個或若干檔案內容變化,以便將來查閱特定版本修訂情況的系統。

(版本控制系統vcs:可以理解成乙個資料庫,幫助我們完整地儲存乙個專案的快照)

配置庫是集中存放在**伺服器,開發者需要先從**伺服器取得最新版本,完成後再推送給**服務

svn: 集中式版本控制系統中的代表

分布式也有乙個類似於「配置庫」的伺服器,而作用僅僅是用於交換,有它無它均可繼續開發。

與集中式比較

1. 它們什麼關係

2. 關於gitlab使用

選擇登入的方式:

github ,google賬號登入

之後,在git 終端上操作,繫結使用者名稱和email即可操作了

3. git 三個區

head : 指向的分支

git stash命令用於暫時儲存沒有提交的工作。執行該命令後,所有沒有commit的**,都會暫時從工作區移除,回到上次commit時的狀態。

分支衝突:

git 標籤

git config --group 針對當前使用者

分支合併的方式:

git merge :

git rebase:

常用指令

1. pull 和 push

pull 是merge 和 fetch的集合,意為拉取遠端的資料,並合入本分支

push 是推的意思,把所做的更改推到遠端分支上

git fetch : 與乙個遠端的倉庫互動,並且將遠端倉庫中有但是在當前倉庫的沒有的所有資訊拉取下來然後儲存在你本地資料庫中

git merge origin/lite_dev:合併分支

git pull --rebase : 把**整到最新

git fetch origin feature_lon**ideo :把遠端分支拉到本地

git pull origin feature_lon**ideo :把某分支內容都拉取到本地

2. git status

: 檢視當前分支的狀態,主要是所做的一些改動

3. git log

檢視提交日誌

4. git init

初始化一般多人開發乙個需求時是用同乙個分支這個時候git pull很有用,我們修bug都是從master新建本地分支,從本地分支pull就會報錯

修bug一般都是git pull origin master

和別人一起開發新需求的時候最好設定一下關聯,方便直接git pull拉取

分支建立/合併

檢視分支:git branch

建立分支:git branch

切換分支:git checkout 或者git switch

建立+切換分支:git checkout -b 或者git switch -c

刪除本地分支:git branch -d

刪除遠端分支:git push origin -d

git checkout: 取消對某檔案的修改,將對檔案修改撤回

git reset:回退,將add檔案修改內容回退,commit提交不會包含此修改

提交三連

git add

filename:單個檔案

. :當前所有檔案

git commit -m 「message」:提交

git push:將commit推動遠端

提交/回退

git reset --soft

回退到某個版本,只回退了commit的資訊,不會恢復到index file一級。如果還要提交,直接commit即可

git reset --hard

徹底回退到某個版本,本地的原始碼也會變為上乙個版本的內容,撤銷的commit中所包含的更改被沖掉

回退指的是回退到上一次的變動,比如之前在本分支提交的是「***」,然後pull了遠端**,本地已經有了新的變動,git reset回退的是這一次的pull

git reset

總結來看:

git 常用命令就拉分支,合分支,解決衝突pull,版本回退,檢視提交日誌,版本差異等

本地提交: commit 遠端提交:push

檢視 diff

git diff 比較工作區跟暫存區

git diff --cached 比較暫存區跟head

git diff head 比較工作區跟head

修改沒add在工作區,add了沒commit在暫存區,commit了在head,head指向的就是我們的當前分支

主要用什麼?

xcode git

「m」意味著改變了**,但是還沒有提交git

1. 多用熟能生巧

2. 當然配置一下命令列也是很有必要的,這會讓你事半功倍

3. alias 設定命令快捷

怎麼耍?

熟悉git 命令的人,可以通過git終端命令,完成一系列·的操作

error: pathspec 』 did not match any file(s) known to git解析

拉取,推遠端分支

提公升:feature_maplocation 沒有上游分支,當前git check -b 沒有將其推送到遠端分支上

如何檢視誰修改

第一種方法

git log 檢視提交日誌

使用git在本地新建乙個分支後,需要做遠端分支關聯。如果沒有關聯,git會在下面的操作中提示你顯示的新增關聯。

關聯目的是在執行git pull, git push操作時就不需要指定對應的遠端分支,你只要沒有顯示指定,git pull的時候,就會提示你。

然後,我們再:

merge 遠端分支

merge 和 pull的區別

檢視commit資訊

每次提交的資訊都一樣,說明沒有push到遠端

說一下push

pull是拉取當前分支到當前所在分支,做的是最新的改動;相當於merge和fetch之和,在這裡說明一下:假如我們要合入其它的分支,那麼我們可以直接merge遠端分支,或者pull下來,在這裡我感覺不到區別

偶見xcode未同步

在shell,xcode上都檢視了git的提交,顯示都已經提交上去,但是xcode未同步

(依然提示藍線)

關於版本

切到了乙個比較奇怪的分支,detach 分離

預設·標籤是打在最新提交的commit上的

error: src refspec master does not match any.

出現如下錯誤:

error: src refspec master does not match any.

error: failed to push some refs to 『******』

原因:本地倉庫為空

拉取遠端分支錯誤

git pull origin bugfix_resource_bundle_master_chn

fatal: couldn』t find remote ref bugfix_resource_bundle_master_chn

fatal: the remote end hung up unexpectedly

關於head

記住一點就行了head這個指標永遠指向最近一次提交,頭指標分離了除外

git config --list // 一些配置引數

Berkeley DB使用全解

在開發桌面級應用程式時,常常需要用到可持續儲存技術,做為儲存程式在退出之前所使用的資料,如變數,物件,視窗位置,大小.一般我們會使用office access這類桌面型檔案資料庫,或者是使用登錄檔.但是它們都有一些不盡人意的缺陷.比如 1.mdb檔案無法在沒有安裝office的系統上訪問,直少得需要...

Docker 的使用全解

注 一下 必要時加sudo 容器 映象 可讀層。docker run 命令先是利用映象建立了乙個容器,然後執行這個容器。docker start命令為容器檔案系統建立了乙個程序隔離空間。注意,每乙個容器只能夠有乙個程序隔離空間。1 測試docker是否安裝成功 docker run hello wo...

Git篇 Git使用教程

2.向倉庫中新增檔案流程 3.git初始化及倉庫建立和操作 4.git遠端倉庫 本文主要介紹了通過git將工作區的檔案提交至本地git倉庫和遠端git倉庫 github 以及將遠端git倉庫轉殖至本地工作區進行動態管理。新增 編輯 修改檔案的區域。暫存已經修改的檔案,最後統一提交到git倉庫中。最終...