-
-
暂存区 : 暂存区就是文件夹 .git中的一个小部分(.git文件夹就是版本库)
-
版本库:工作区有一个隐藏目录.git,这个不属于工作区,这是版本库, 版本库中还有Git为我们
# Git 全局设置: git config --global user.name "110" git config --global user.email "5462539+xiaonq110@user.noreply.gitee.com"
#局部配置 去除 --global
# 创建 git 仓库: mkdir git_test cd git_test git init touch README.md git add README.md git commit -m "first commit" git remote add origin https://gitee.com/eduworkflow/git_test.git git push -u origin master # 已有仓库? cd existing_git_repo git remote add origin https://gitee.com/eduworkflow/git_test.git git push -u origin master
git add xxx.txt # 蒋文件提交到暂存区 git commit -m 'xxx' # 蒋代码提交到本地版本仓库 git status # 看到未提交到仓库的修改文件(工作区、暂存区)
3.2.回滚
git log #查看所有提交到仓库的版本记录: git log -2 git reflog #查看所有操作记录(状态的md5值和改变的值) git reset --hard d9e0ed0 #回到指定版本(d9e0ed0是创建版本的MD5值得前6位或者7位) git reset --hard HEAD^ #回到上一个版本
3.撤销修改
vim Readme #我们在Readme文件中写了一些错误的代码 git add . #然后又一不小心将文件从工作区提交到了 stage区 git reset HEAD Readme #将Readme中刚提交到 stage区 的代码撤回到工作区 git status #查看目前工作区状态 git checkout -- Readme #将Readme在工作区错误的代码丢弃
3.4.强制使用master覆盖本地代码
git fetch --all git reset --hard origin/master git pull
-
-
develop 开发分支,为开发服务
'''1. 从master分支切换到dev分支进行开发''' git checkout -b dev master # 从master分支创建dev开发分支 git branch # 可以看到现在已经切换到dev分支了 vim Readme # 模拟在项目中修改代码 git add . # 把工作区中所有变更全部提交到(暂存区) git commit -m 'in dev' # 把暂存区代码提交到本地git仓库(本地git仓库) git push origin dev # 把代码先推倒dev分支,让测试人员测试 '''2. 当测试人员测试完成后将dev分支代码合并到master形成文档版本''' git checkout master # 开发完成后,需要合并回master分支,先切换到master分支 cat Readme # 可以看到master分支的内容没有修改 git merge --no-ff dev # 将刚刚dev中修改的代码合并到master git push origin master # 将本地仓库的代码推送到线上仓库(线上git仓库)
5.解决冲突
- 提示:多人协同开发时,避免不了会出现代码冲突的情况
- 原因:多人同时修改了同一个文件
- 危害:会影响正常的开发进度
- 注意:一旦出现代码冲突,必须先解决再做后续开发
-
- 原则:谁冲突谁解决,并且一定要协商解决
- 方案:保留所有代码 或者 保留某一人代码
-
解决完冲突代码后,依然需要
add
、commit
、push
-
提示:如果张三执行
pull
没有影响,就算真正解决了冲突代码
补充:
-
容易冲突的操作方式
- 多个人同时操作了同一个文件
- 一个人一直写不提交
- 修改之前不更新最新代码
- 提交之前不更新最新代码
- 擅自修改同事代码
-
减少冲突的操作方式
- 养成良好的操作习惯,先
pull
在修改,修改完立即commit
和push
- 一定要确保自己正在修改的文件是最新版本的
- 各自开发各自的模块
- 如果要修改公共文件,一定要先确认有没有人正在修改
- 下班前一定要提交代码,上班第一件事拉取最新代码
- 一定不要擅自修改同事的代码
- 养成良好的操作习惯,先