【初始化】
創建一個本地的git倉庫,創建之后就會在當前目錄生成一個.git的文件
git init # 初始化本地版本庫
git clone <url> #從遠程克隆代碼到本地,url是遠程代碼地址
【拉取git遠程倉庫的文件】
git pull # 拉取遠程倉庫代碼
【查看文件狀態】
git status #查看文件狀態(常用)
git status -s #以極簡形式查看文件狀態
A:本地新增的文件(服務器上沒有)
C:文件的一個新拷貝
D:本地刪除的文件(服務器上還在)
M:紅色為修改過未被添加進暫存區的,綠色為已經添加進暫存區的
R:文件名被修改
T:文件的類型被修改
U:文件沒有被合並(你需要完成合並才能進行提交)
X:未知狀態(很可能是遇到git的bug了,你可以向git提交bug report)
?:未被git進行管理,可以使用git add fileName把文件添加進來進行管理
【提交文件】
git add . #將所有改動過的文件添加到緩存區
git add <file> #跟蹤指定的文件(或文件夾),file是文件夾地址或者文件地址
git commit -m '提交信息' #將暫存區的修改提交到本地倉庫,同時會生成一個commmit-id
git push #推送代碼到默認的分支
git push origin <branch> #推送代碼到指定的分支下,branch是分支名
【分支命令】
$ git branch #查看分支
$ git branch test-1 # 創建分支(分支名為test-1)
git checkout [name] #切換分支
git branch -d [name] 【強制刪除使用大寫字母D】 # 刪除本地分支
$ git push origin :origin-test-1 #刪除遠端項目分支(origin-test-1為分支名)
git branch -r # 查看遠端分支
$ git branch -v #查看分支最后一次提交的commit id
git branch -vv 查看本地分支與遠程分支的關系
【常用git stash命令】
git stash save "save message" #執行存儲時,添加備注,方便查找,只有git stash 也要可以的,但查找時不方便識別。
git stash list #查看stash了存儲棧
git stash show #顯示做了哪些改動,默認show第一個存儲,如果要顯示其他存貯,后面加stash@{$num},比如第二個 git stash show stash@{1}
git stash show -p # 顯示第一個存儲的改動,如果想顯示其他存存儲,命令:git stash show stash@{$num} -p ,比如第二個:git stash show stash@{1} -p
git stash apply #應用某個存儲,但不會把存儲從存儲列表中刪除,默認使用第一個存儲,即stash@{0},如果要使用其他個,git stash apply stash@{$num} , 比如第二個:git stash apply stash@{1}
git stash pop :命令恢復之前緩存的工作目錄,將緩存堆棧中的對應stash刪除,並將對應修改應用到當前的工作目錄下,默認為第一個stash,即stash@{0},如果要應用並刪除其他stash,命令:git stash pop stash@{$num} ,比如應用並刪除第二個:git stash pop stash@{1}
git stash drop stash@{$num} :丟棄stash@{$num}存儲,從列表中刪除這個存儲
git stash clear :刪除所有緩存的stash
命令執行后視圖了解:
git status #查看文件狀態
-- 紅色表示沒有提交到緩存區的文件:
Untracked files:未追蹤的文件;
Changes not staged for commit :已追蹤,但修改后未add到暫存區的文件
-- 綠色區域表示已經提交到暫存區的文件。

git commit -m '提交信息' #將暫存區的修改提交到本地倉庫,同時會生成一個commmit-id

[zjsecurity-fix b04254e] zjsecurity-fix為分支名,b04254e 為 commmit-id
使用情境:
情境1:首次推送代碼至遠程倉庫
// 在本地項目文件夾中,初始化本地git倉庫 $ git init // 添加項目所有文件至暫存區 $ git add * // 編輯提交備注 $ git commit -m 'first commit' // 連接遠程github倉庫 $ git remote add origin <url> // 推送到遠程倉庫(這個過程需要填寫用戶名和編碼) $ git push -u origin master
情境2 :先拉取遠程更新內容,在提交本地修改
// 先拉取遠程代碼(如果拉取之后有沖突,手動在本地修改沖突)
git pull
// 查看本地修改的文件
git status
// 選擇需要提交的文件
// “src/main/java/com/fline/zjsecurity” 是需要提交的是文件夾
git add src/main/java/com/fline/zjsecurity/
// 提交內容描述
// git commit -m '提交描述'
git commit -m '數據識別規則模板類型信息處理'
// 提交修改的代碼到指定分支
// zjsecurity-fix 為分支名
git push origin zjsecurity-fix
情境四:首次拉取代碼時發生報錯 fatal: Not a valid object name: 'master'.
11905625546@DESKTOP-TOKFC65 MINGW64 /d/Eclipse/gzt_ybtx (master) $ git branch release-for-gzt fatal: Not a valid object name: 'master'.
報錯原因:
因為當前沒有master分支,通過git branch會發現,沒有任何輸出結果。
解決方法:
git 進行一次提交,代碼會提交到master分支上,這時在本地倉庫也會創建一個master分支;
或者
git pull <url> <分支名> 在本地會優先創建一個master分支來存儲當前代碼。
歡迎轉載,轉載請注明出處
https://www.cnblogs.com/waiting-ying/p/12933650.html