Git|02 Git的工作流程

Git|02 Git的工作流程
hezh一、Git 的“两区两库”
二、工作流
(一)工作区 --> 暂存区
1 | |
- 可以设置忽略名单,防止某些文件被上传(跟踪),如日志文件、带隐私账号密码的测试文档、node_modules等,在项目根路径下创建
.gitignore文件,里面填写不跟踪的文件。
Tip
对于已经跟踪并被推送的文件,后续再添加进 .gitignore 是没用滴,后续的改动一样能被推到远端。.gitignore 只对未加入暂存区(即 git add 操作)的文件起作用,对于被跟踪的文件,需要执行:
- git rm --cached <文件名> 取消跟踪
- git commit -m “stop tracking xxx_file” 并提交
远端发现即使将 file01.txt 加入 .gitignore ,依然会跟踪 file01
停止跟踪,file01.txt 消失
(二)暂存区 --> 本地仓库
1 | |
-
vscode 图形化提交操作,框中填写提交语,并 Ctrl + Enter
-
等价命令:
1 | |
- 形成一次快照,在 git 历史中留下痕迹,git 树的提交信息与
git log一一对应,并且本地比远程领先 3 个提交
(三)本地仓库 --> 远程仓库
- 链接远程仓库
1 | |
如:git remote add origin git@gitee.com:hzhkdh/glut-schedule-wx.git
- 查看远程仓库
1 | |
- 推送远程仓库
1 | |
- 如果远程分支名和本地分支名都形同(比如都是
main),则可以只写本地分支名- 如:git push -u origin main
- -u 是让本地与远端建立链接关系
- 建立链接后,后续推送就可以直接用
git push命令
(四)远程仓库 --> 本地仓库
- 下载别人仓库到本地,克隆(clone)
1 | |
- 抓取(fetch)
从远端抓取变化到本地,不进行合并操作
1 | |
- 拉取(pull)
1 | |
从远端抓取变化到本地,会进行合并(merge)操作,git pull ≈ git fetch + git merge
(五)本地仓库 --> 暂存区
1 | |
- 会同时修改三个地方:工作区、暂存区、当前分支指针
- 把当前分支直接移动到 指定commit_ID 这个提交,并且让暂存区、工作区都恢复成这个提交的状态
- 此时本地指针(HEAD)指向次新的提交,远端在最新的提交,本地落后远端 1 个提交
- 并把工作区恢复到 HEDA 所指向的快照,最新提交的 file03.txt 消失。
(六)暂存区 --> 工作区
1 | |
评论
匿名评论隐私政策















