设为首页 收藏本站
查看: 334|回复: 0

随笔八 :Git保姆教学以及解决冲突

[复制链接]
累计签到:503 天
连续签到:2 天
发表于 2023-7-8 21:55:04 | 显示全部楼层 |阅读模式
git 基本命令
   -初始化:git init 文件夹名
    -初始化:git init   #当前路径全被管理

   -git status
    -git add a.txt  # a提交到暂存区
    -git add .  # 把当前文件全部提交到暂存区
    -git commit -m'注释,我新增了a' # 把暂存区的所有的文件提交到版本库,
        - 新用户第一次配置一下,在用户目录中找到.gitconfigemailname存放进去,就可以了提交了
        - 需要增加作者信息
            git config --global user.email "you@example.com" 如果不加--global的话代表只是项目变化了
            git config --global user.name "Your Name"  如果不加--global的话代表只是项目变化了
    -git checkout. # 回到提交版本的位置状态
    -git log 查看版本管理日志
    -git reset --hard 版本号
# 红色表示未被管理
# 绿色表示提交到暂存区了
# 忽略文件
    -空文件不被管理,所以为什么要建立包,因为里面有_init_
    -指定某些文件或者文件夹不被git管理
    -在项目跟路径,跟.git文件夹创建一个路径,新建.gitignore,在里面配置
    - 语法
        # 是注释没有用
        文件夹名字,表示文件夹忽略,不被管理
        /dist 表示当前根路径下的dist文件夹,不被管理
        *.py 表示后缀名为py的文件,都被忽略
        *.log* 表示忽略上传的日志和轮值后端日志log1log2
# 分支操作
    -查看分支 git branch 如果绿色表示在当前分支上
    -创建分支 git branch dev
    -切换分支 git checkout dev/master
    -创建并切换到分支 git checkout -b dev
    -删除分支 git branch -d 分支名
    -合并分支(把其他分支的内容合并到当前分支下面) git merge dev/master 需要将切换到master 然后把去和进来dev git 远程相关[## 1 git远程连接]
1 码云(国内,快)
2 新建仓库的时候,不要勾选Readme初始化这个而仓库
[3 现在什么都没有,新建仓库]
    mkdir lqz_test
    cd lqz_test
    git init
    touch a.txt
    git add a.txt
    git commit -m "first commit"
    git remote add origin https://gitee.com/liuqingzheng/lqz_test.git  #
连接远程
    git push  origin master
[4 已经有了仓库]
    cd b
    git remote add origin https://gitee.com/liuqingzheng/lqz_test.git
    git push origin master
   
[5 git 远程操作命令]
   -git remote # 查看远程仓库(没有就看不到)
    -git remote add origin https://gitee.com/liuqingzheng/lqz_test.git # 跟远程仓库建立连接
    -git push origin master  # 把本地的master分支提交到远程的origin,需要输入用户名和密码(之前存的需要删掉)


# 补充
git工作的指针是通过reset控制指针  
git checkout . 是代表回到版本最新的位置

## 2 git项目创始者和开发者
1 项目创始者,如上
2 项目开发者,参与者(换了一台电脑),把代码拉下来继续开发
   -git clone https://gitee.com/liuqingzheng/lqz_test.git
    -
能看到完整的版本和日志控制
    -可以回复到任意版本
       -git rest --hard 版本号
    -git checkout . # 表示回到指针指向的版本,因为已经用git reset --hard把指针移动了,所以checkout .就是当前再的版本上的东西
3 本地新增c.txt文件
   -提交到暂存区
    -提交到版本库(没有提交到远程,远程看不到)
    -提交到远程:git push origin master
4
a文件夹中的代码成为最新的
   -git pull origin master
[5 重点:每次再提交代码之前,一定要先更新代码(拉),如果不拉提不上去]
    -git pull origin master

#  3 ssh连接和https连接
1、公司内部大部分用ssh连接
    -领导给你一个git地址(项目地址)
    -
git clone 地址 到本地
    -改代码,改完了 ---》提交(禁止)
    -ssh
配置,以后都不用输密码了
2、配置如何做
    -对称加密(加密和解密用同一套密码)
    -非对称加密(公钥和私钥),公钥加密,私钥解密
    -ssh生成一对公钥和私钥(用命令)

        -https://gitee.com/help/articles/4181
        -ssh-keygen -t rsa -C "lqz@qq.com"
生成到用户家目录的.ssh文件夹下(一个公钥,一个私钥)  
        -把公钥复制出来,再码云上配置
3、配置完ssh替代码就不用 git remote add origin 用户名地址
# 补充MD5是属于签名,不可反解

# 4 协同开发
1 协同开发出现冲突,如何解决
2 git pull origin master  拉下远程代码,同事和你修改了同一个位置,会冲突,如下
<<<<<<< HEAD
你的代码
=======
别人代码
>>>>>>> origin/master
3
处理方案
    -删除你的代码
    -删除同时代码
    -合并你们的代码

## 5 合并分支出现冲突

1 分支:本地分支,远程分支

2 创建本地分支
   -git checkout -b dev
3
把本地分支提交到远程
   -git push origin dev  

# 6 线上回滚
1、切换到master分支  查看git log/reflog 选择到到那个版本
2、回滚到某个版本 git reset --hard 版本号
3、强制提交代码 git push origin master -f

# 7 分支合并出现冲突解决
1、远端创建一个dev分支
    -在远端直接创建
    -在本地创建提交远端
        git checkout -b dev
        git push origin dev
2
、本地新建一个dev_bug分支
    -dev_bug文件改了文件
    -dev分支改了同样的文件
    -合并就出冲突
    -git merge dev_bug(dev分支上操作)
    -
解决冲突(删你的,同时的,合并在一起)
    -
正常了,冲突解决了
    -重新 git add . / git commit -m'1' 推远端
3、线上分支如果出现了,在本地解决了master在提交远端

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-1003877-1-1.html 上篇帖子: 随笔七 :几大设计模型MVP、MVC、MTV、MVVM关系 下篇帖子: 随笔九 : 浅谈Redis的IO多路复用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表