1.git基础代码
- 撤销和回退 撤销修改
git checkout xxx #撤销某个文件修改,这里的数据还没有提交到暂存区
git checkout . #撤销当前文件夹内所有修改
git reset --hard HEAD #放弃暂存区中所有的修改和新增
- 版本回退,慎用
git reset --hard HEAD #放弃当前所有修改,回退到当前版本
git reset --hard HEAD^ #回退到上一个版本
- 分支管理 查看分支
git branch #查看本地分支
git branch -a #查看所有分支
- 创建分支
git checkout -b xxx分支名字 #创建并切分支
git branch xxx分支 #创建
git checkout xxx分支 #切分支
- 合并分支到当前分支
git checkout master #切换到master分支
git merge xxx分支名字 #合并分支
- 删除分支
git branch -d # 删除已合并的分支,有未合并代码不允许删除
git branch -D # 强制删除有未合并代码的分支
git push origin --delete dev_new #删除远程分支
- 本地分支和远程分支第一次关联
git push origin xxx分支名字
合并远程分支(master分支之下)
git checkout master
git pull origin xxx分支名字 #远程拉取XX分支
git merge origin /xxx分支名字
git push
2.版本的回溯
- 先在本地仓库中创建一个1.txt
- 提交到本地仓库
-
创建2.txt ,此时2.txt在工作区中
-
提交到仓库
-
head指向最新的版本
-
版本的回溯
-
刷新之后,2.txt还在,因为这是工作区,仓库里面没有
3.创建分支并上传 -
分支简介
使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。
在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。有人把 Git 的分支模型称为它的“必杀技特性”,也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出。 为何 Git
的分支模型如此出众呢? Git
处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷。
与许多其它版本控制系统不同,Git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次。 理解和精通这一特性,你便会意识到 Git是如此的强大而又独特,并且从此真正改变你的开发方式。
- 如果有多个开发人员负责不同的分支,步骤如下:
1.每个开发人员在本地克隆整个项目仓库,并在自己的独立分支(如feature/xxx)上进行开发。
2. 每次开发人员完成一定的开发任务后,需要将当前分支推送到远程仓库(如GitHub、GitLab等)上,供其他人查看和合并。
3. 其他开发人员可以同步远程仓库的代码,然后在本地切换到对应的分支,进行修改和提交。
4. 当一个分支上的开发任务已经完成并且经过测试后,可以向主分支(如develop或master)发起合并请求。
5. 发起合并请求或者Pull Request后,其他开发人员可以审批代码变更或提出修改意见,最终决定是否将分支代码合并到主分支。
使用这样的分支开发模式可以使多个开发人员同时并发进行独立任务的开发,并最终整合到主分支上。同时也可以保持不同开发任务之间的代码隔离和版本管理。
- 创建wd分支
- 上传文件
4.合并分支
- 切换主分支
- 更新pull ,保持版本一致
- 请求合并
git merge wd
4.发送到远程仓库
git push
5.分支出错
当不同的人更改同一个文件上传,但是当我们在合并分支的时候却出现错误,
这说明我们产生了冲突,我们必须沟通解决冲突,只需要我们保留我们想要的结果。