zoukankan      html  css  js  c++  java
  • git——版本控制及冲突解决

    协同开发,版本管理
    svn(集中式管理),git(分布式管理)
    远程仓库:github,码云,公司内部(gitlab)
    
    配置信息 全局
    git config --global user.email "lqz@qq.com"
    git config --global user.name "lqz"
    
    git config  user.email "egon@qq.com"
    git config  user.name "egon"
    
    -工作区,暂存区,版本库
    
    	-git init   # 初始化,生成一个.git 的文件夹
        -git stauts # 查看状态(红色和绿色),必须全绿再提交到版本库
    	-git add .  # 提交到暂存区  git add a.txt
        -git commit -m '注释'  # 从暂存区提交到版本库
        -git checkout . # 把工作区的内容恢复到版本库中最新的版本
        -git reset .   # 把暂存区的东西拉回到工作区(原来是绿的变红了)
        # 红色表示未被管理
    	# 绿色表示提交到暂存区
        -git reset --hard 版本号  # 回退到某个版本
        -git log   # 查看版本管理的日志
        -git reflog # 查看日志,条数更多,内容更少
        
    分支
        -git branch  # 查看所有分支,如果分支是绿色,表示是当前分支
        -git branch 分支名  # 创建分支
        -git chekout dev  # 切换到dev分支
        -git chekout -b dev2 # 创建并切换到dev2分支
        -git branch -d dev2 # 删除dev2分支,不能再这个分支上
        -git merge dev   # 你必须再其他分支(master),合并dev
        
    忽略文件
    	-空文件夹不被管理
    	-指定某些文件或者文件夹不被git管理
        -在项目根路径,跟.git文件夹一个路径,新建.gitignore.,在里面配置
        - 语法:
        	# 号是注释,没有用
            文件夹名字,表示文件夹忽略,不被管理
            /dist 表示根路径下的dist文件夹,不被管理
            *.py   表示后缀名为py的文件,都被忽略
            *.log*
    

    git:

    https://mp.weixin.qq.com/s?src=11&timestamp=1595294809&ver=2473&signature=teq192g3C6PFJIKUALY9HIBjO20aZeAL*Ms35fwJSYWbLjNfyouwjsxmzCnxdLpb5evdqZG-PByoFSHAaGRGqaNNNFsz2z2Pa-k02-4fXLVJxqovhETTxT56lzDDSa61&new=1

    1 git初始化,提交内容,远程连接

        git init   初始化一个本地文件夹为git管理的库
        
        git add a.txt  提交到暂存区
        git commit -m "first commit"   提交到版本库
        
        git remote   查看有哪些连接
        git remote add origin https://gitee.com/liuqingzheng/lqz_test.git  建立远程连接
        git push origin master   将修改 提交到 origin连接的 master分支上
    

    ssh连接和https连接

    # 1 公司内部大部分用ssh连接
        ssh配置,不用输密码
    # 2 配置如何做
    公钥和私钥 用户家目录的.ssh文件夹下(一个公钥,一个私钥)
            生成秘钥,如果没有-ssh-keygen -t rsa -C "lqz@qq.com"  
            把公钥复制出来,在码云上配置
            
    对称加密和非对称加密
    	-对称加密(加密和解密用同一套秘密,共享秘钥)
        -非对称加密(公钥和私钥),公钥加密,私钥解密
    

    2 git开发者

    1 将库的代码clone下来,得到管理的库,完整的 版本 和 日志控制
    	git clone https://gitee.com/liuqingzheng/lqz_test.git
    
        回复到任意版本
        git rest --hard 版本号 
        git checkout . 
        回到指针指向的版本,因为已经用git rest --hard把指针移动了,所以checkout .就是当前版本
        
    2 pull代码,更新文件夹为最新的
    	git pull origin master
        
    3 push代码,每次push代码,一定要先pull,再push,可能有冲突
    
    # 跟远程操作有三个命令
    git pull
    git push
    -git feacth(一般不用,他跟pull是一个东西,当作不知道)
    

    pycharm操作git

    在pycharm中操作git时,首先要在pycharm中配置,setting---》git--->git.exe的地址
    git clone
    

    出现冲突解决

    pull代码出现冲突 提交代码
    
    git pull origin master  拉下远程代码,两个人修改了同一个位置,会冲突
    
    <<<<<<< HEAD
    你的代码
    =======
    别人代码
    >>>>>>> origin/master
    
    处理方案
        -删除自己的代码
        -删除别人的代码
        -合并代码
    
    合并分支冲突  手动线下合并代码并提交到远程 
    	-git checkout master
        -git merge dev 
        -如果出冲突,解决
        -git add .
        -git commit 
        -git push
        
        -解决冲突(删你的,同事的,合并起来)
        -git add .  git commit 
    

    3 线下回滚,并提交

    # 1 切换到master分支
    # 2 回滚打某个版本  git reset --hard  版本号
    # 3 强制提交代码 git push origin master -f
    

    1 pycharm找回误删,修改的东西

    history
    

    2 git的变基

    git rebase
    
  • 相关阅读:
    奇数阶魔方问题
    《DSP using MATLAB》示例9.3
    《DSP using MATLAB》示例9.2
    《DSP using MATLAB》示例9.1
    找个目标很重要
    《DSP using MATLAB》示例Example 8.30
    《DSP using MATLAB》示例Example 8.29
    《DSP using MATLAB》示例Example 8.28
    《DSP using MATLAB》示例Example 8.27
    《DSP using MATLAB》示例Example 8.26
  • 原文地址:https://www.cnblogs.com/pythonwl/p/13390913.html
Copyright © 2011-2022 走看看