git 版本控制 常用操作流程
第0步 準(zhǔn)備工作
cd ~/Desktop
mkdir demo-1
cd demo-1
touch index.html
code .
code . 表示用VSCode打開當(dāng)前目錄
第1步 git init 會創(chuàng)建.git目錄
- 用VSCode編輯index.html的第一個版本,隨便寫
- 用Cmder/iterm2(也可以使用VSCode自帶的命令行)
- 在demo-1目錄下初始化git本地倉庫,運行:
git init
第2步 查看下 .git目錄
ls -a
- ls 不加參數(shù),就不會顯示以“.”開頭的目錄或文件
- .git 目錄用來容納你不同版本的代碼快照
第3步 告訴git哪些文件的變動不需提交的:git add ./.gitignore
- 新建.gitignore文件
- 將不需提交的文件名寫入.gitignore,以回車分隔
.gitignore 描述哪些變動是不需要提交的
常見的有:
node_modules
.DS_Store
.idea
.vscode
...
注明.gitignore之后,以后的提交變更只需
git add .
就行了
第4步 告訴git哪些文件的變動要提交的:git add xxx
git add是用來暫存提交的
git add index.html
git add bg.css
可以不用管warning
只要沒error就是正常的
VSCode里的狀態(tài):A表示已經(jīng)添加,U表示未添加
- git add 路徑
- 選擇哪些變動是需要提交的;
- 路徑可以是 絕對/相對 路徑
絕對路徑:
- /c/Users/Fang/Desktop
- /c/Users/Fang/Music
- ~/Desktop
- ~/Music
“/”表示根目錄,絕對路徑都是以“/” 開頭的,“~ ”是 /c/Users/*** 的縮寫,所以實際上 “~ ”也是以 / 開頭的絕對路徑
相對路徑:
- .
- ./xxx
- ./xxx/
- xxx
- xxx/1.txt
“.”表示當(dāng)前目錄,相對路徑都是“相對于當(dāng)前”來說的;“../”表示上一級目錄,也是相對路徑
第5步 查看當(dāng)前狀態(tài)
git status
第6步 提交
git commit -m 字符串
git commit -m "version 0.1"
提交,并說明提交理由
- 注意空格與關(guān)閉英文引號
- 字符串里有空格,就要用引號包起來;沒有,可不加
實際上,git commit就是把當(dāng)前提交的代碼復(fù)制一份到.git里
- 更推薦:git commit -v
git commit -v
- 在VSCode里編輯COMMIT EDITMSG信息
- 幫我回顧,改了什么
- 請把提交理由寫得更詳細(xì)一點
- v : --verbose啰嗦
- 在COMMIT EDITMSG里查看本次提交所有的變更
git commit -v --amend
第7步 修改了文件第二版后
再重復(fù)4~6步,就ok了
第8步 查看文件版本
git log
第9步 多次提交
git add .
git commit -v
每次重復(fù)這兩個操作,注意.不要少寫,注意空格
第10步 版本回滾/歷史版本跳轉(zhuǎn)
git log
得到各歷史版本 commit xxxxxx...
git reset --hard ******
- ******是提交號的前4~6位,只要不重復(fù)
- 確保已經(jīng)把所有代碼commit了
- 最好 git status 一下,看看是否 nothing to commit, working tree clean
- 因為git reset --hard操作會把所有未提交的變動(代碼/文件/目錄)直接刪除
第11步 查看所有操作的歷史版本,git reset沒提交的除外
git reflog
- 這就是git commit的意義
- 只要git commit 了,代碼就不會丟
- git log能上傳到遠程倉庫,而git reflog只在本地倉庫
- git log 是當(dāng)前時間線的提交
- git reflog 是顯示所有提交(commit)變動
- 再用git reset --hard回去就行了,如果有必要的話
總結(jié)
git status幾個狀態(tài)
- a. 忽略(.gitignore)
- b. 暫存待提交(git add)
- c. 已提交(git commit)
- git reset --hard時,除a b c外 其他狀態(tài)會被清空
- git文件狀態(tài)演變
- git add 選擇要提交的版本
- .gitignore文件中描述不提交的內(nèi)容
- git commit -v 用來提交
- git log用來查看歷史,只有當(dāng)前提交的過程,不包括回滾的提交
- git reset --hard *******用來切換版本
- git reflog用來查看所有提交歷史
·未完待續(xù)·
參考文章
相關(guān)文章
- 無