目錄
1. git初始化配置
2. 新建倉庫
3. 工作區——>暫存區——>本地倉庫
4. git reset回退版本
5. 查看差異 git diff
6. 刪除文件git rm
7. .gitignore
8.?vscode操作git
9. git分支、合并和刪除
10. 解決合并沖突
11. 回退和rebase
12. 添加遠程倉庫
參考鏈接:
01.課程簡介_嗶哩嗶哩_bilibili
1. git初始化配置
查看版本號:git -v
配置用戶:git config --global user.name 'huanhaunwang'
配置郵箱:git config --global user.email 'whh@nit.zju.edu.cn'
保存配置:git config --global credential.helper store
查看配置:git config --global list
2. 新建倉庫
git clone http://github.xxx.com
mkdir learn-git
cd learn-git
git init / git init my-repo # 初始化my-repo倉庫
cd .git
ls -alltr
3. 工作區——>暫存區——>本地倉庫
工作區——>暫存區:git add .
暫存區——>本地倉庫:git commit -m 'xxx' # 'xxx'為commit的描述
###### 添加和提交文件
初始化本地倉庫:git init
查看狀態:git status
工作區-->暫存區:git add .--> 提交txt文件到暫存區:git add *.txt--> 刪除暫存區內容:git rm --cached <file>
暫存區-->本地倉庫:git commit -m 'description'
寫內容到file1.txt:echo 'This is the first file' > file1.txt
提交記錄:git log/ git log --oneline
4. git reset回退版本
git reset三種模式 | 工作區 | 暫存區 |
git reset --soft | ||
git reset --hard | ? | ? |
git reset --mixed | ? |
- 查看暫存區內容:git ls-files
- 當出現誤操作時:查看歷史所有操作 git reflog --> 回退指定版本號 git reset --hard xxx(版本號)
5. 查看差異 git diff
(工作區/暫存區/本地倉庫,不同版本v1/v2/v3,不同分支)
git diff v1_num v2_num
git diff HEAD~ HEAD
git diff HEAD~2 HEAD
git diff HEAD~3 HEAD
git diff HEAD~3 HEAD <file>
git diff HEAD^ HEAD
git diff <branch_name> <branch_name>
6. 刪除文件git rm
工作區&暫存區同時刪除:git rm <file> --> git commit -m 'delete <file>'
工作區刪除-->暫存區刪除-->本地倉庫刪除:rm <file> --> git add <file> / git add. --> git commit -m 'delete <file>'
暫存區緩存刪除:git rm --cached <file>
7. .gitignore
忽略所有log日志:echo '*.log' > .gitignore --> git add . --> git commit -m 'commit .gitignore'
忽略temp下的所有內容:echo 'temp/' > .gitignore --> git add . --> git commit -m 'commit .gitignore'
忽略所有的.a文件:*.a
忽略任何目錄名為temp/的文件夾
8.?vscode操作git
9. git分支、合并和刪除
查看分支:git branch
創建分支:git branch/checkout <branch-name>
切換分支:git switch <branch-name>
合并分支:切換到main/master主分支 --> git merge <branch-name>
刪除分支:(1)已合并:git branch -d <branch-name>(2)未合并:git branch -D <branch-name>
查看分支創建&合并流程:git log --graph --oneline --decorate --all
- git log --graph --oneline --decorate --all
10. 解決合并沖突
解決合并:vi <main_conflict.txt> --> git add . --> git commit -m 'solve conflict'
終止合并:git merge --abort
11. 回退和rebase
12. 添加遠程倉庫
克隆遠程倉庫:git clone ssh鏈接(此命令需要提前配好ssh -key.pub)
給遠程倉庫命別名:git remote add <遠程倉庫別名> ssh鏈接 e.g. git remote add origin git@github.com:xxx/xxx/xxx.git切換分支:git branch main/master
推送本地 --> remote遠程:git push -u <遠程倉庫別名> <分支名>
查看遠程倉庫:git remote -v
拉取remote遠程 --> 本地:git pull / git pull -u <遠程倉庫別名> <遠程分支名>:<本地分支名>(1)遠程-->本地:1)手動修改遠程2)拉取到本地:git pull = git fetch + git merge
(2)本地-->遠程:1)手動修改本地文件2)添加至緩存區:git add.3)提交到本地倉庫:git commit -m 'description'4)推送/更新遠程倉庫:git push