git 相關知識 一

2021-08-19 18:48:43 字數 1845 閱讀 8912

git常用命令

git config --list 檢視配置

git config --global user.name "username" 設定使用者名稱

git config --global user.email "[email protected]" 設定郵箱

--global引數 表示這台機器上所有的git倉庫都會使用這個配置

初始化乙個倉庫

git init 會生成乙個.git的隱藏資料夾

新增檔案到git倉庫,分兩步

1、git add file1 file2 新增到暫存區(隱藏檔案.git資料夾為版本庫 index為暫存區)

2、git commit -m "files. commit" 將暫存區提交到分支

修改內容後

git status 檢視當前倉庫的狀態

git diff readme.txt 檢視具體的修改內容 工作區(work dict)和暫存區(stage、index)的比較

版本回退

git reset --hard commit_id 版本回退到指定的版本

git log (--pretty=oneline) 檢視提交歷史,以便確定要回退到哪個版本

git reflog 檢視命令歷史,以便確定要回到未來的哪個版本 (記錄你的每一次提交commit、回退reset的命令)

工作區和暫存區

工作區: .git所在的資料夾

版本庫: .git資料夾

暫存區: stage(或者叫index)

git為我們自動建立的第乙個分支master,以及指向master的乙個指標叫head

管理修改

每次修改,如果不add到暫存區,那就不會加入到commit中。

撤銷修改

<1>場景一:

改亂了工作區某個檔案的內容,直接丟棄工作區的修改時,用命令git checkout -- file

<2>場景二:

不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,

第一步用命令git reset head file,就回到了場景1,第二步按場景1操作。 組合命令(git reset --hard head)

<3>場景三:

已經提交了不合適的修改到版本庫時,想要撤銷本次提交。

版本回退,不過前提是沒有推送到遠端庫。

刪除檔案

<1>rm file 刪除工作區的檔案

<2>git rm file 刪除乙個檔案(暫存區和工作區)

<3>git commit -m "delete"

誤刪檔案,但是版本庫還有,使用git checkout -- file 還原

git checkout其實是用版本庫里的版本替換工作區的版本,無論工作區是修改還是刪除,都可以「一鍵還原」。

遠端倉庫

新增遠端庫 --> 將本地倉庫關聯到遠端倉庫

在遠端倉庫上(github)建立learn倉庫

<1>git remote add origin //把本地倉庫的內容推送到github倉庫

<2>git push -u origin master //本地庫的所有內容推送到遠端庫上

由於遠端庫是空的,我們第一次推送master分支時,加上了-u引數,git不但會把本地的master分支內容推送的遠端新的master分支,

還會把本地的master分支和遠端的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令(git push origin master)

從遠端庫轉殖 --> 將遠端倉庫轉殖

git clone

git支援多種協議,包括https,但通過ssh支援的原生git協議速度最快

Git 相關知識

git version 檢視當前git版本 也可用於檢查git是否安裝 git checkout 切換分支 git checkout master 切換到主分支 git checkout index swiper 切換到index swiper分支上 git merge origin index s...

Git相關知識(3)

前面2節,主要講了git的概念和流程,本節主要講解git的相關命令。這裡我們先以網上的一張圖來展示各個主要的git命令的聯絡。git主要的命令 f a b c master 我們輸入git reset hard就會變為如下 f a b master c狀態徹底被刪除了。f a b c master ...

git和github的相關知識

跟集中式的管理工具相比最重要的功能就是解決單點故障。git的優勢 git在本地的三大區域 git的 託管中心 本地庫和遠端庫 本地庫初始化 設定簽名 git status 工作快取區的狀態 git add 新增檔案到快取區 git rm cached 把檔案從快取區刪除 git commit m 暫...