- git的配置
- 第一次安裝git需要配置用戶名和郵箱
git config --global user.name 'xxx'
git config --global user.email '[email protected]'
- git的三區
- 工作區
- 開發代碼的地方
- 新建/修改/刪除文件出現再工作區
- 暫存區
- 暫時保存代碼的地方
- 版本區
- 代碼版本控制的地方
- 工作區
- 指令
git init
初始化一個空的git倉庫(只要做一次,第二次會報錯)git add a.js
將位於工作區的a.js文件添加到暫存區git add ./ */ -A
將工作區全部文件添加到暫存區git commit -m '註釋'
將暫存區全部代碼添加到版本區進行版本控制git status
查看當前文件的狀態- 紅色:說明文件位於工作區
- 綠色:說明文件位於暫存區
- 沒有顏色/顯示:說明文件位於版本區
- git diff 對比(工作區和暫存區)文件差異
- git diff --cached 暫存區和版本區
- git diff master 工作區和版本區
- 版本回退
- git log 查看版本歷史記錄
- git reflog 查看簡版的歷史紀錄
- git reset --hard HEAD^ 回退到上一個版本
- git reset --hard commit_id 回退指定commit_id的版本
- 分支操作
- git checkout master 切換到master分支
- git branch dev 新建dev分支
- git checkout -b dev 新建並切換到dev分支(將當前分支內容複製到dev分支上)
- git branch 查看當前有哪些分支
- git branch -r 查看當前所有分支
- git merge dev 在當前分支合併dev分支內容
相關需求場景的操作
-
需求1:遠程github已經創建一個倉庫,需要將本地項目託管到遠程github倉庫中
- git init
- git add .
- git commit -m “first commit”
- git remote add origin https://github.com/sxzxiaofeng/test.git 將本地倉庫和遠程倉庫關聯起來
- git remote rm(remove) origin* 刪除關聯的遠程倉庫
- git push -u origin master 將本地倉庫master分支的內容推送到遠程倉庫去 首次需要加上-u,後面就不需要了~
-
需求2:遠程有倉庫並且有內容,下載到本地來使用
-
git clone https://github.com/sxzxiaofeng/test.git
-
自動關聯了,不需要關聯, 克隆下來的倉庫默認只有master分支。希望獲取dev分支內容
-
git fetch origin dev1:dev2
-
拉取遠程倉庫dev1分支的內容到本地的dev2分支上
-
需求3:本地倉庫有內容,遠程有更新,本地拉取更新的內容
-
git pull origin master 拉取遠程倉庫的master分支合併到本地master分支上
注意: 不管將來push、pull操作,都得先進行本地版本控制- git add .
- git commit -m ‘xxx’
團隊開發git操作流程
1.克隆倉庫到本地 git clone https://github.com/sxzxiaofeng/test.git
2.建立連接 git remote add origin https://github.com/sxzxiaofeng/test.git
3.創建並切換分支 git checkout -b dev
4.將工作區文件提交到暫存區git add *
5.將暫存區代碼添加到版本區進行版本控制 git commit -m ‘註釋’
6.和遠程倉庫建立連接,並把dev分支上的代碼推送到遠端
git push --set-upstream origin dev (第一次連接需要輸入密碼),以後是git push origin dev