git使用者文件1 git基礎

2021-08-22 03:22:47 字數 3495 閱讀 4986

1.1 分布式

我們把遠端倉庫(雲端的倉庫)稱為repo,repo必須有乙個master分支,就是主分支。

repo除了有乙個master分支,還有很多其他的分支,若干個分支之間儲存的資料一版都是不一樣的

本地可以git clone下來repo的master分支,也可以git clone下來repo的其他的分支,因為repo各個分支資料不一樣,本地clone下來的資料對應的也不一樣

從以上三點,我們可以理解乙個問題,其實repo也可以理解成乙個使用者管理的乙個倉庫,只不過這個倉庫是乙個公共的倉庫

本地倉庫管理的時候,一般開發乙個功能的時候,會建立乙個分支,開發完成之後,可以先提交到本地,並做記錄(git add,git commit)。我們可以選擇把本地的分支上傳到遠端的乙個分支

1.2 git配置

linux使用者首先需要安裝git,centos使用者一般使用yum install方式進行安裝

git的配置分為兩個層面,乙個是配置全域性的,這個配置供全部的本地倉庫使用,乙個是針對某乙個特定的倉庫所做的配置,後者的配置會覆蓋前者的配置

git的配置的兩種方式:通過編寫配置檔案和通過git config指令(git config –help檢視配置幫助)

1.2.1 配置使用者

如果配置好了之後,輸入git log指令,我們可以看到使用者,郵箱等相關資訊

配置使用者資訊

$ git config --global user.name "your name"

$ git config --global user.email "your email"

例如

$ git config --global user.name "neil"

$ git config --global user.email "[email protected]"

上面的指令中 –global表示配置的乙個全域性的選項,意思就是,這個配置對該使用者的所有本地倉庫都是有效的

全域性的配置資訊會被git儲存在本地的~/.gitconfig檔案中

1.2.2 配置顏色

配置git顏色之後,比如在檢視本地diff的時候,會顯示不同的顏色,或者檢視本地branch(分支)的時候,所在的分支會高亮顯示

使用下面指令進行顏色配置,下面的顏色配置基本可以滿足大多數使用者的需求,如果想要更多的配置,可以自行查閱

$ git config --global color.ui true
git基本命令

1.3.1 git clone

用於從轉殖乙個遠端倉庫,clone完成後,本地倉庫就有了遠端倉庫的完整副本

1.3.2 git init

除非是新建專案,基本不使用這個指令,該指令用於初始化乙個git倉庫,主要是生成了git倉庫的一些配置檔案

1.3.3 git add/rm

將本地的修改新增到staged狀態,可以這樣子理解本地倉庫裡面有很多資料,每次修改資料之後,首先要使用git add/rm將修改的資料新增到乙個等待記錄區裡面,等待記錄區裡面的資料,要經過git commit -m記錄之後,才能夠進入到本地倉庫

1.3.4 git status

展示本地倉庫的乙個狀態,此時會列出已經修改但是沒有提交到等待記錄區的檔案,不屬於倉庫的新增的檔案,還有已經存在等待記錄區的檔案

1.3.5 git commit

將等待記錄區的檔案,記錄一下,儲存在本地倉庫,這一步的目的實際上是給每個修改做乙個標記,方便快速的查詢

1.3.6 git reset

一般用於修改本地git的歷史檔案,一般有下面幾種情況

- git reset –hard ,直接拋棄新的commit和他的修改,將指標指向,慎用

- git reset –soft ,直接拋棄新的commit,但是將修改的內容,放入到了等待記錄區,一般用於修改最後提交的commit

- git reset,將等待記錄區所有內容全部移除,但是本地修改的檔案沒有改動

例項1:本地最後乙個commit是做測試用的,現在已經不需要了,可以直接刪除最後乙個commit

git

reset--

hard

head~1

例項2:希望將本地的最後兩個commit合併成乙個,可以先將最後一次的放入到等待記錄區,然後一起提交

git reset --soft head~1 // 移除最後乙個 commit,並且將修改放入 staged 區

git commit --amend --no-edit // 修改最後乙個 commit(因為上乙個已經刪除最後乙個 commit 了),並且新增 staged 中的內容

1.3.7 git branch

多人參與專案的時候,有各種分支,git branch就是用來處理分支的

git branch展示當前本地的所有分支,且高亮當前分支

git branch -a展示所有的本地分支和遠端分支

git branch -m重新命名分支

git branch -d刪除分支

1.3.8 git checkout

一般使用git clone轉殖**之後,開發的時候一般在分支上面開發

git checkout 分支名,切換分支

git checkout -b 新的分支名,新建分支

1.3.9 git remote

使用git clone之後,本地的專案就是remote(遠端),這個遠端是相對於雲端**庫來講的。我們把本地的這個remote叫做origin,這就可以理解git push origin master的含義了吧,就是把本地的origin遠端,推送到雲端的master。我們還可以寫git push origin hahah,這個hahah是雲端的分支名

檢視本地的remote使用

git remote

git remote -v

1.3.10 git pull/fecth/push

pull是將雲端的remote和本地的分支進行merge

fetch是拉去雲端的remote,但是不會和本地分支merge,而是拉去到了fetch_head

push將本地的推送到雲端

1.3.11 git rebase/merge

當前使用者的分支是,需要將a推送rebase到b分支上面,執行

git rebase b
rebase首先會找到a和b的共同祖先的commit,然後把a分支上面的所有修改一點點加到b上面,如果有衝突則需要解決衝突,如果沒有就rebase成功了

這裡的b一般代表的公共開發的分支,比如乙個任務,交給了幾個同學共同開發,此時會先建乙個分支b,然後大家往b上面推送**,一旦b有更新,就需要將本地a的分支,rebase到b上面

rebase之後,b最後進行commit,這樣子非常清晰

但是merge不一樣,merge會按照時間順序合併兩個分支,會導致合併後的內容比較混亂,一般使用rebase而不適用merge

git基礎 1 git使用須知

詳細的篇幅以後補充 安裝篇 設定篇 由於我們大多數是windows程式設計師,那麼,在使用git的過程前需要做一些設定項。1 設定使用者名稱和email 刪除檔案 c users administrator gitconfig 1.開啟git bash 2.執行如下配置命令 git config g...

Git學習筆記1 Git基礎

參考鏈結廖雪峰git教程 1.建立版本庫 mkdir learngit 建立空目錄 cd learngit 進入目錄 git init 將該目錄初始化成git倉庫2.配置資訊 1 配置使用者資訊 git config global user.name zack996 配置使用者名稱 git conf...

Git學習筆記1 Git基礎

mkdir d learngit 建立空目錄 cd learngit 進入目錄 git init 將該目錄初始化成git倉庫 git config global user.name mike 配置使用者名稱 git config global user.email mk xinchi 163.com...