git的基本使用與常用用法

2021-09-24 23:27:32 字數 2779 閱讀 8956

首先介紹下 git 的三個區: 工作區 、 暫存區/過渡區、歷史區/版本庫

工作區: 本地**編寫區 - git init

暫存區/過渡區:臨時儲存**,承上啟下 - git add

歷史區/版本庫:**提交完成,自動成乙個版本號,可用來更改版本,在不同版本中穿梭,配合 git log / git reflog 使用

檢視本地git資訊,必須設定有name和email

檢視 git config --list

設定 git config --global user.name=「your

name」

git config --global user.email=「your email」

修改:git config --global --replace-all user.name 「yournewname」

初始化倉庫:git init

提交到暫存區:git add . | file | -a

提交到歷史區:git commit -m 「資訊」

暫存+提交: git commit -a -m 「資訊」

(必須已經有過乙個git add提交記錄後才可以使用)

檢視日誌 版本號:git log

檢視版本的主線:git log --graph | git log --graph–oneline

檢視當前狀態:git status

檢視所有的活動日誌(回滾穿越版本時要用):git reflog

比較工作區和暫存區的區別 : git diff

比較暫存區和版本庫的區別 :git diff --cached | git rm --cached + xx

比較工作區和版本庫的區別 : git diff master | 兩個版本號

**暫存後: git rm --cached + file 取消暫存

恢復修改之前的內容:(沒暫存的內容):git checkout .

如果已經暫存但是還沒有提交到歷史區可以先使用 git rm --cached + file 然後在 git checkout 或者 用

git reset head + 《檔名 > (暫存區的版本覆蓋- 會用上乙個版本暫存區的內容覆蓋剛剛寫錯了的內容)

然後在用git checkout 工作區就會還原上一版本的內容

如果已經提交到了歷史區但是不想要這個版本了:

git log 檢視日誌 複製版本號

git reset --hard + < 版本號 >

這時就會恢復以前的版本了

如果想找回最新的版本

使用git reflog 檢視所有版本的版本號(使用git log 會查不到, 對於當前來說,是未來時 )

然後使用 git reset --hard + < 版本號 >

( 注: git reset 回滾遠端分支需要git push -f」強制推上去,否則報錯 )

遠端分支回滾版本也可使用 revert

git revert -n 版本號

(會生成乙個新版本號,但是和要回滾的版本號的內容是一樣的)

提交到遠端倉庫

例子: 如何新增兩個遠端倉庫並分別把**提交上去

git push 錯誤撤銷推送的方法

git reset --soft xx版本號***x  | git reset --soft head~1 

git reset --hard xx版本號*** | git reset --hard head

~1

區別:第二種(hard)強制返回版本**多餘會刪除(慎用)

第一種軟回退,**會回退到暫存區,git status檢視,通過

git rm --cached ***檔名*** 取消暫存可通過git reflog驗證

這時修改後提交會有遠端版本提前不可提交的問題

解決方法:git push origin 分支 --force

這時遠端超前乙個版本,git pull一下即可

git reset 雖然可以會退遠端的錯誤,但是可能會導致本地低於遠端推送,導致其他人也進行回退,git revert是更好的方式, 回退某次提交

git cherry-pick 合併某次提交的內容

git命令列提交到遠端步驟

git branch -b new-feature

git checkout new-featyre

git add .

git commit -m 「new changes」

git push --set-upstream origin new-feature

git 找出那次提交合到主分支

git log -pretty=oneline (複製要提交的hash如f7e45bf)

git checkout master

git cherry-pick (提交這個hash f7e45bf)

參考: 我在工作中是如何使用 git

git常用用法 rm

當做了一些修改時,一般會直接 git add 先將檔案staged起來。但是 git add 對被刪除的內容是無效的,還需要 git rm filename 刪除檔案,但是git rm命令貌似沒有類似 git rm 的用法 這樣可以執行,但意思是刪除所有檔案 於是,當有比較大量的檔案被刪除時,乙個個...

NSDate的常用用法

1.建立或初始化可用以下方法 用於建立nsdate例項的類方法有 id date 返回當前時間 id datewithtimeintervalsincenow nstimeinterval secs 返回以當前時間為基準,然後過了secs秒的時間 id datewithtimeintervalsin...

NSDate的常用用法

1.建立或初始化可用以下方法 用於建立nsdate例項的類方法有 id date 返回當前時間 id datewithtimeintervalsincenow nstimeinterval secs 返回以當前時間為基準,然後過了secs秒的時間 id datewithtimeintervalsin...