git 超詳細基本操作

2021-10-08 20:08:40 字數 3930 閱讀 4129

(1)在現有目錄中初始化倉庫(進入該專案)

git init

$ git add *.c

$ git add license

$ git commit -m 'initial project version'

(2)轉殖現有的倉庫
$ git clone
(3)檢視當前檔案的狀態
$ git status(顯示沒有,進行建立檔案,會顯示未追蹤檔案)

$git status -s 命令或 git status --short

$git status 顯示檔案的狀態(未追蹤,待提交,顯示有檔案被修改過)

$git diff 可以檢視檔案被修改的內容

(4)跟蹤新檔案
$ git add readme
(5)看暫存前後的變化
$git diff
(6)檢視已經暫存起來的變化
$git diff --cached/--staged
(7)提交更新

(提交之前要確保cru的檔案是否被git add過)

$git status(檢視是否均被暫存起來)

$git commit

(8)跳過使用暫存區(stage)

(git 會自動將所所有已經追蹤過的檔案暫存起來一併提交)

$ git commit -a -m 'added new benchmarks'
(9)記錄此次移除檔案的操作
$rm filename (在工作區刪除檔案)

$git status 在版本庫中會記錄該檔案處於delete狀態

$git rm filename (在版本庫中刪除檔案)

$git commit -m "remove file filename"

$git status

(10)移動檔案
$ git mv file_from file_to

相當於一下三條命令

$ mv readme.md readme

$ git rm readme.md

$ git add readme

(11)建立分支
$git checkout -b defei

相當與以下

$git branch defei

$git checkout defei

(12)檢視歷史版本
$git log 檢視提交歷史,以便回到哪乙個版本

$git reflog 檢視歷史命令,記錄每一次命令

$git reset --hard commit_id

(13)暫存區

1.先對檔案進行修改,新增到暫存區(stage)

$git add readme.txt(將檔案新增到暫存區)
2.將檔案提交到工作區,在對檔案進行提交的描述

git commit 只負責將暫存區的檔案提交

第一次修改–> git add --> 第二次修改 --> git commit 只會將第一次修改的內容提交

因為 git commit 只會提交暫存區的內容

git commit --amend --no-edit

(14) 抓取遠端的分支

git pull 抓取遠端的新提交

$ git pull -r upstream quard
1.先用git pull 將最新的提交從 origin/dev 抓取下來,然後在本地合併,解決衝突,在推送

2.$git pull 如果失敗,是因為沒有建立本地 dev 分支與遠端 origin/dev 分支的鏈結

3. $git branch --set-upstrem-to=origin/dev dev
git pull 成功,但是合併有衝突,需要手動解決

(15)將當前分支推送到遠端,

$git push -u origin master 第一次推送到master的時候,

如果你和你的同伴都對 origin/dev 進行了修改,他已經推送,則你將會推送失敗

git 不但會將本地的master分支內容推送到新的master分支,

還會將本地的master分支和遠端的master分支關聯起來

在以後的推送或者拉取就可以簡化命令

$git push origin master 推送最新的修改

$git push origin dev(要推送的分支名稱)

如果推送失敗,先用git pull 捉取遠端的新提交

(16) push 推送到遠端的分支

$git push -f origin master
(17)合併分支

$git merge dev (用於指定當前分支到當前分支)

檢視分支:git branch

建立分支:git branch

切換分支:git checkout 或者git switch

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

合併某分支到當前分支:git merge

刪除分支:git branch -d

如果該分支沒有被合併,如果刪除,將會丟失修改,強行刪除,需要使用-d引數

(18)修復bug

$git status 把當前工作現場「儲藏」起來,等以後恢復現場後繼續工作

$ git checkout master

$ git checkout -b issue-101

$ git add readme.txt

$ git commit -m "fix bug 101"

$ git checkout master

$ git merge --no-ff -m "merged bug fix 101" issue-101

預設是使用fast forwad模式,那麼刪除分支,將會丟掉分支資訊

(合併) 強制使用 fast forward 模式 ,git會在merge時生成乙個新的commit

在分支歷史上可以看出分支資訊

--no-ff 表示禁用 fast forward

$ git checkout dev

$ git status

(19)標籤管理
$git tag 直接就可以打上乙個標籤

$git tag 檢視所有的標籤名

找到歷史提交的commit id,然後打上就可以了

$ git log --pretty=oneline --abbrev-commit

$git tag $git show 檢視標籤詳細資訊

還可以建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字:

$ git tag -a v0.1 -m "version 0.1 released" 1094adb
注意:標籤總是和某個commit掛鉤。如果這個commit既出現在master分支,又出現在dev分支,那麼在這兩個分支上都可以看到這個標籤。

$git tag -d 刪除

$git push origin 推送某個標籤到遠端

$git push origin --tags 一次性推送全部尚未推送到遠端的本地標籤:

如果標籤已經推送到遠端,要刪除遠端標籤就麻煩一點,先從本地刪除:

$ git tag -d v0.9
然後,從遠端刪除。刪除命令也是push,但是格式如下:

$ git push origin :refs/tags/v0.9

Git命令 超詳細

初始化命令 git init 創立乙個.git隱藏資料夾 把所有的修改的檔案新增到大門口 git add 把倉儲門口的 放到裡面的房間中去 git commit m 一些說明 表示是把所有修改的檔案提交到版本庫 git commit all m 一些說明 檢視當前的狀態 git status 檢視歷...

Git 基本操作及詳細步驟

git操作流程 git提交流程git log檢視提交記錄 git pull 拉取 git status檢視是否有要提交 git add提交多有 git commit m為本次 新增注釋 git reset撤回提交 重點 會看錯誤提示 其實我覺得git操作都不是重點,重點是在git報錯的時候會看報錯,...

git詳細操作

分布式 git版本控制系統是乙個分布式的系統 是用來儲存工程源 歷史狀態的命令列工具 儲存點 git的儲存點可以追蹤原始碼中的檔案 並能得到某乙個時間點上的整個工程專案額狀態 可以在該儲存點將多人提交的原始碼合併,也可以會退到某乙個儲存點上 git離線操作性 git可以離線進行 提交 git基於快照...