git的學習筆記

2021-09-20 01:14:23 字數 4487 閱讀 1678

集中式版本控制系統與分布式版本控制系統的區別

分布式遠端伺服器儲存所有版本,使用者客戶端也可以儲存所有版本

分布式版本控制系統中每個人的電腦上都有乙個完整的版本庫.需要的時候,可以不需要聯網,因為版本庫就在你自己的電腦上。

多人協同工作的時候,乙個使用者在自己電腦上改了檔案a,另乙個人在他的電腦上改了檔案b,工作結束只需把各自的修改推送給對方,就可以互相看到對方的修改了。

git init                                                初始化當前目錄

git config --golbal user.name "username" 設定版本庫的使用者的名稱

git config --global user.email "[email protected]" 設定版本庫的使用者的郵箱

git add . 把當前目錄加入到git管理目錄,也可以使用*或者加檔名

git commit -m "message" 提交檔案到當前分支,message為當前提交的描述資訊

git commit命令會給我們的提交儲存快照,這樣我們可以隨時把檔案回滾到修改之前的樣子

需要注意的是:

* 在window上安裝好git軟體後,可以在git提示符下可以輸入linux的命令來管理git的目錄或檔案

* 執行git init命令後,會在當前目錄下生成乙個.git隱藏目錄,這個目錄就是git用來跟蹤管理版本庫的

* 建立git版本庫流程的時候,git可以多次add檔案,但只能commit一次

* git config命令的--global引數,表示你這台機器上所有的git倉庫都會使用這個配置,使用--local引數指定當前倉庫的使用者名稱和email位址。

git status                      檢視當前git倉庫的狀態

git diff * 檢查上一次對檔案所做的修改內容

git log 檢視版本庫的修改歷史記錄

git log --pretty=online 用commit id(版本號)顯示修改記錄,減少log檔案的輸出,使每條記錄只輸出一行

git reflog 用來記錄每一次命令(查詢某次修改的版本號)

工作區:

工作區(word directory)就是在電腦上能看到的目錄

當前開發程式所在的目錄為工作區,該區域的檔案會有狀態變化且狀態由git自動檢測

目錄中的檔案的任何變化(增,刪,改),git都會檢測到,可以使用git status命令檢視

版本庫:

版本庫(repository)工作區有乙個隱藏目錄.git,儲存的就是git的版本庫

工作區檢測到有檔案發生變化,那麼意味著檔案狀態被改變,這時就可以當做乙個版本進行提交

工作區的**通過git add來加入到暫存區,使用git commit命令把暫存區的檔案加入到當前分支的(一般為git自動建立master的分割槽)

git的版本庫中乙個區域,稱之為stage(或者叫index)的暫存區.

在工作區的檔案被修改,使用`git status`檢視狀態時,顯示檔案的顏色為紅色

使用`git add`把檔案從工作區移到暫存區,再使用`git status`檢視狀態時,顯示檔案的顏色為綠色

需要注意的是,git是對檔案更改的管理,不是基於檔案的管理

git reset --hard head^          回退到上乙個版本

git reset --hard head^^ 回退到上兩個版本

git reset --hard 123456 回退到版本號為123456的版本

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

git checkout --filename     撤銷工作區的修改,把工作區的檔案恢復到暫存區的狀態

如果檔案修改後還未放到暫存區,撤消修改就回到未修改之前的狀態

如果檔案修改後已新增到暫存區,撤消修改就回到新增進暫存區時的狀態

git reset head filename 把暫存區的修改撤消掉,重新放回到工作區,這條命令是在把修改後的檔案提交到暫存區之後又後悔了,使檔案恢復到版本庫的狀態

git rm filename 用於刪除乙個檔案

git branch dev          建立乙個dev分支

git branch 檢視分支的資訊

git branch -d dev 刪除dev分支

git checkout dev 從當前分支切換到dev分支

git checkout -b dev 建立乙個dev分支並切換到dev分支

git merge dev 把dev分支合併到當前分支(一般為master)

git checkout --* 把檔案返回到修改之前的狀態

合併分支的時候如果出現衝突,那麼將會出現衝突提醒,此時修改檔案,解決衝突後再次提交就可以了

可以使用git log或者git log --graph指令來檢視分支與分支合併情況

有的時候,提交推送的時候不想提交某些檔案,此時可以在這個專案根目錄下新建乙個名為.gitignore的檔案,

在這個檔案裡可以進行配置提交的時候忽略哪些檔案,配置使用正規表示式的形式.

比如:

*.py                忽略所有的以py結尾的檔案

test/a.* 忽略test目錄下所有的以a開頭的檔案

test/[abc].py 忽略test目錄下a.py或b.py或c.py這三個檔案

[abc] 忽略根目錄下a或b或c這三個檔案

test/* 忽略test目錄下的所有檔案

!test/a.py 忽略test目錄下不是a.py以外的所有檔案,即只提交a.py這個檔案

配置完成後,需要清除本地快取,然後再次提交.

清除本地快取的命令:

git rm -f --cached .
git stash               儲存當前工作現場

git stash list 列出所有stash

git stash drop 刪除最近一次儲存的stash

git stash pop 恢復+刪除最近一次stash

git stash stash@ 恢復指定stash

ssh-keygen -t rsa -c "[email protected]"
執行命令後會在使用者的家目錄生成.ssh的隱藏資料夾,資料夾裡有公鑰id_rsa.pub和私鑰id_rsa

git remote add origin 使用https方式將本地倉庫關聯到遠端倉庫(遠端倉庫名預設為origin)

git remote add origin [email protected]:使用者名稱/repo_name.git 使用git方式將本地倉庫關聯到遠端倉庫

git remote remove origin 刪除關聯到本地的遠端倉庫,origin是遠端庫的名字

git pull origin master 將遠端origin**拉到本地master分支

git push origin master 將本地master分支**推到遠端origin

git clone 複製遠端專案到本地

git remote                      檢視遠端倉庫

git remote -v 檢視遠端倉庫的詳細資訊

git push origin master 把本地分支origin的檔案推送到遠端倉庫的master分支

git pull origin master 把遠端倉庫中的master分支同步到本地倉庫的origin分支

git的學習筆記

使用者名稱設定git config global user.name 使用者郵箱設定git config global user.email git init初始化本地倉庫 touch 1.html建立檔案 git add 1.html將檔案新增到暫存區 git commit m 提交描述 將檔案提...

Git的學習筆記

2.在自己建的目錄下右擊選中git bash here 點選,會出現git命令視窗,可以輸入linux命令,然後輸入git version,出現git的版本資訊即代表安裝成功了。3.配置你的名字和郵箱 在github或者碼雲上面註冊就有了 git config global user.name yo...

Git學習筆記

git stash git stash list 顯示git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。git stash clear 清空git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。關於git stash的詳細解釋,適用場合,這裡做乙個說明 使用git...