開發項目中:Git詳細操作流程
1,Git介紹:
1、公司裏多人協同開發一個項目,需要版本管理工具:svn,git
2、git可以實現版本控制
3、git,gitee,github,gitlab
gitee:中國的github(很多公司在用)
github:遠程倉庫,全球最大的開源代碼庫
gitlab:公司自己搭建的遠程倉庫,公司的代碼放在上面
2、git工作流程
3、基本操作
# 1、初始化倉庫,讓git接管你的項目
git init# 2、查看倉庫狀態
git status
-紅色:新建,修改,刪除,在工作區沒有放到暫存區
-綠色:放到暫存區,沒有提交到版本庫
-沒有東西:說明所有變更都被版本管理起來了# 3、將當前路徑下的所有變更提交到暫存區
git add .# 4、將暫存區的內容提交到版本庫
git commit -m '註釋'# 5、設置用戶(目的在於可以在遠端看到是誰提交了內容,更方便公司的管理)
# 5.1、設置全局用戶(在家路徑下創建用戶,每個項目都用這一個用戶)
>: git config --global user.name 'tianyanlong'
>: git config --global user.email '[email protected]'
# 5.2、設置局部用戶(局部是指在某個項目下創建用戶,可以在不同項目下創建不同用戶)
>: git config user.name 'tianyanlong'
>: git config user.email '[email protected]'
# 6、撤銷工作區操作
git checkout .# 7、撤銷暫存區操作(瞭解)
git reset .# 8、撤銷版本庫提交
git reset --hard 版本號# 9、查看版本管理日誌
git log # 顯示作者,版本號,註釋
git reflog # 顯示精簡信息,顯示的更多(版本切換也會顯示)
4,多分枝開發
# 1、查看分支
git branch # 綠色代表當前所在分支# 2、新建分支
git branch 分支名# 3、切換分支
git checkout 分支名# 4、刪除分支
git branch -D 分支名 # 只有在另外一個分支下才能刪除當前分支# 5、合併分支(子分支合併到主分支)
git branch master # 先切換到主分支
git merge dev # 再將子分支合併到主分支
5,remote源操作
-查看遠程倉庫:
git remote
-添加遠程倉庫(遠程倉庫的名字origin):
git remote add 遠程倉庫名字 倉庫地址
git remote add origin https://gitee.com/liuqingzheng/test.git
-刪除遠程倉庫
git remote remove origin
6,項目創始者和開發者的操作
6.1、創始者的操作
(1) 沒有項目純空的
mkdir test
cd test
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/liuqingzheng/test.git
git push -u origin master
(2)項目已經存在,在本地以及操作了(git_test)
cd git_test
git remote add origin [email protected]:tian-yanlong/logistics_api.git
git push -u origin "master" # 本地代碼推送到遠程
# 推送 遠程倉庫名 主分支
(3) 提交的時候需要輸入gitee的用戶名和密碼
(4) 提交成功以後,在遠程倉庫能看到版本變更記錄
6.2、開發者的操作
# 因爲是開源的所有人都可以克隆
git clone https://gitee.com/liuqingzheng/test.git
# 修改改代碼
git add .
git commit -m
git remote 配置遠程倉庫(我現在不用配,同一臺機器已經配置過了)
git push origin master
# 在提交代碼之前,要先更新
git pull origin master
7,線下分支合併
1 本地dev1分支新增代碼,提交到版本庫
2 本地dev1分支合併到master
-切到master
-git merge dev1 (沒有衝突直接合並)
-git push origin master (本地master提交到遠端master)
3 切到dev1分支,再提交到遠端
4 到此,本地分支合併完成,遠端的dev1跟master完全一樣,本地的dev1跟master也完全一樣
8,遠程倉庫回滾
1 遠程倉庫,回到最初路飛第一次提交的地方
2 再本地回覆到第一次提交
git reset --hard 59dbf80c
git push origin master -f # 強制提交
3 切記 -f 清醒的時候使用
9,其他:
pull和fetch區別
git pull:拉代碼+合併 git fetch:拉代碼,需要手動合進去