当前位置: 首页 > article >正文

关于git使用的图文教程(包括基本使用,处理冲突问题等等)超详细

目录

用户签名,初始化git

git提交流程图

提交到本地库

版本穿梭

分支操作

分支合并冲突

团队协作

github的使用

推送代码

克隆

拉取代码

团队协作冲突

团队协作之分支管理

推送分支到分支:

拉去远程库分支到本地库:

本地删除远程分支:

gitignore

用户签名,初始化git

--global是全局设置的意思

git提交流程图

master又叫历史区

提交到本地库


git status  //显示暂存区状态(绿色表示在暂存区,红色的表示没在暂存区的)

git rm --cached 1.txt (从暂存区删除该文件)

当提交完后,暂存区会被清空。当你提交过后,你之后又要提交,直接git add . 后会自动区分哪个文件修改了(只会把修改过的文件提交到暂存区中)

注意:在git log后,如果你的信息过多,会让你一直回车才能显示完,

如果要在中途或者最后显示完后退出:按下q键就行了

如果在git commint 之后忘记-m 注释了 会直接跳到vrm编辑界面:

因为提交时必须要注释,这个时候按下i后变成insert模式,然后就可以写注释了(不要写在井号里):

这个时候注释(A功能-22222)就写好了,退出的话先按esc退出insert模式然后输入:wq然后直接回车就行了

版本穿梭

head表示当前位置,master是默认主分支。

如果往回退了一下,这时候用git log是看不到后面的分支的,只能看到目前结点和前面的分支

这时候要用git reflog就可以看到所有记录了:

也可以通过这个字符串来回退(git reflog , git log 都可以看到):

注意:回退后会导致工作区代码同样发生回退(硬回退)

如果不想工作区代码发生回退可以用软回退,这样只会回到缓存区:

软回退的作用:
1.重新git commit -m "XXXXX" 改变注释的内容

2.如果某个文件有bug,但是又不想修改bug单独占一个结点,可以先把这个结点返回到暂存区中然后再把修改的新代码add到暂存区,然后再提交到历史区

所以尽量不要用reset,用revert.

revert相当于你回退到了版本1,但是不会对其他版本造成影响,而是新造一个版本,这个版本就是版本1了

新生成一条记录,所以会有注释

直接写在上面

而我觉得版本回退最重要的作用:

如果某次推送不小心推送错了代码,这时可直接revert回退到上个版本再次推送即可覆盖

如果有人不小心把分支代码不小心提交到了远程库的主分支上:

重置 master 分支到之前的状态 你可以使用 git reset 来重置 master 分支到目标提交:

git checkout master  # 切换到 master 分支
git reset --hard <commit-id>  # 将 master 分支重置到目标提交

分支操作

为什么要有分支:
当测试人员在测试先版本时,如果开发人员又更新了版本测试版本就会发生改变

分支合并冲突

假如现在再写一个分支的代码,但是主分支有个bug要修改,修改完后等分支写完合并的时候会自动合并失败:

同时会自动进入手动合并状态。这时候打开合并的文件会发现:

这时候可以手动决定如何修改。修改完后,记得退出手动合并状态(提交至历史区):


 

团队协作

github的使用

点击第一个创建仓库

填写完名称即可创建(公开为所有人都能看,只有选定的人才能提交。私有为只能选定的人才能看和提交)

git remote add origin https://github.com/huangzhijun0210/test_warehouse.git
//把https://github.com/huangzhijun0210/test_warehouse.git取别名origin

通过remote -v查看是否关联上了:

如果写的时候不小心写错了可通过以下命令删除:

推送代码
git push -u origin master:master
//git push为默认,origin为推向的地址,master为要推送到的分支,
//后面的:master(代表要推送到远程仓库的分支)可以省略,默认是master
//-u:可加可不加,加上后设置这条推送为默认推送,以后直接git push就是默认推送了

推送完整流程:

克隆

当团队中来了另外一个人,这时候没有连上远程终端不能pull代码,所以需要克隆先把代码克隆下来:

拉取代码
git pull origin master
//从远程仓库master分支拉取
pull只拉取更新的,有修改的。拉去后和本地进行合并

团队协作冲突

这篇博客将多人协作和冲突问题解释得很清楚:

Git推送到远程仓库GitHub以及多人协作开发_多人维护的git推到远程仓库-CSDN博客

当另外一个人在同一个文件夹下推送后,你再次推送,就会报错:版本错误,这时候需要你先拉取最新版本,再推送

因为两个人改的不是同一个文件,所以直接esc,:wq退出即可

如果另外一个人修改了你要推送的代码,你pull后会进入手动合并状态,这时需要先手动合并代码才能推送上去

团队协作之分支管理
推送分支到分支:

注意:不要把本地的分支推到远程的master上,这样写是错误的

拉去远程库分支到本地库:

这时不需要指定本地库的分支名,这时你直接切换会基于远程的login分支直接创建出本地的login分支(所以本地库的分支最好跟远程库的名字相对应,同样的推送如果名字相对应推送也可以省略远程库的分支名,一样会成功)

本地删除远程分支:

直接用空分支覆盖本地分支。

当分支功能完成后和主分支合并后再推送到远程主分支上,然后就要删掉远程库的分支

gitignore

创建完.gitignore后,写上不想上传的文件名,这时这个文件就会变灰,在上传到远程库时就会忽略掉

这样子就是所有txt文件全部被忽略了


http://www.kler.cn/a/389699.html

相关文章:

  • 若依笔记(八):Docker容器化并部署到公网
  • BERT配置详解1:构建强大的自然语言处理模型
  • 金价大跌,特朗普胜选或成导火索
  • 【计算机网络】Socket编程接口
  • LeetCode【0014】最长公共前缀
  • 第二节 OSI-物理层
  • 调整TCP参数, 优化网络性能
  • 基于springboot的家装平台设计与实现
  • 【HCIP园区网综合拓扑实验】配置步骤与详解(已施工完毕)
  • 整合本地市场机会 同城小程序打造社区商圈
  • Uniapp去除顶部导航栏-小程序、H5、APP适用
  • 专业140+总分430+复旦大学875信号与系统考研经验原957电子信息通信考研,真题,大纲,参考书。
  • ssm基于BS的仓库在线管理系统的设计与实现+vue
  • 单链表算法题(数据结构)
  • 【网络安全 | 漏洞挖掘】Google SSO用户的帐户接管
  • 人工智能学习--分类模型的训练和应用
  • 了解 Open RAN 架构中的 DU 和 CU
  • c语言编程题(函数)
  • 如何在MT4中实现神经网络EA?
  • AI与隐私:Facebook如何在数据保护中平衡创新与安全
  • stm32对EV1527波形进行解码
  • 贪心算法-汽车加油
  • oneplus6总结记录-Lineage19.1-android12
  • 密码学的基本原理
  • [ARM-2D 专题]6.脏矩形定义的宏使用技巧和分析
  • node.js电子发票(铁路电子客票)查验接口,让您的企业报销流程更顺畅