zoukankan      html  css  js  c++  java
  • Git远程仓库Github

    克隆项目

    1.克隆远程仓库的命令

    git clone https://github.com/zhangxiaochuZXC/test007.git

    2.配置经理身份信息

     cd Desktop/manager/test007/
      git config user.name '经理'
      git config user.email 'manager@163.com'

    3 .推送项目到远程仓库

      add .
      # 暂存区提交到仓库区
      git commit -m '立项'
      # 推送到远程仓库
      git push
    # 推送到指定分支
    git push origin 分支名

    4 如果在每次 push 都需要设置账号与密码,那么可以设置记住密码

    设置记住密码(默认15分钟):
    git config --global credential.helper cache
    如果想自己设置时间,可以这样做(1小时后失效):
    git config credential.helper 'cache --timeout=3600'
    长期存储密码:
    git config --global credential.helper store

    代码冲突

    提示:多人协同开发时,避免不了会出现代码冲突的情况
    原因:多人同时修改了同一个文件
    危害:会影响正常的开发进度
    注意:一旦出现代码冲突,必须先解决再做后续开发

    代码冲突演练

    1.张三先编辑login.py文件代码

    进入张三本地仓库:cd Desktop/zhangsan/test007
    拉取服务器最新代码:git pull
    编辑代码:num3 = 30
    本地仓库记录版本:git commit -am '第三个变量'
    推送到服务器仓库:git push
    张三本地仓库和远程仓库代码如下:

     2.经理后编辑login.py文件代码

    进入经理本地仓库:cd Desktop/manager/test007/
    编辑代码:num3 = 300
    本地仓库记录版本:git commit -am '第三个变量'
    推送到服务器仓库:git push
    以上操作会出现代码冲突
    
    提示需要先pull

    3.解决冲突

    原则:谁冲突谁解决,并且一定要协商解决
    方案:保留所有代码 或者 保留某一人代码
    解决完冲突代码后,依然需要add、commit、push

    提示:如果张三执行pull没有影响,就算真正解决了冲突代码

    补充:

    容易冲突的操作方式
    
    多个人同时操作了同一个文件
    一个人一直写不提交
    修改之前不更新最新代码
    提交之前不更新最新代码
    擅自修改同事代码
    减少冲突的操作方式
    
    养成良好的操作习惯,先pull在修改,修改完立即commit和push
    一定要确保自己正在修改的文件是最新版本的
    各自开发各自的模块
    如果要修改公共文件,一定要先确认有没有人正在修改
    下班前一定要提交代码,上班第一件事拉取最新代码
    一定不要擅自修改同事的代码

    标签

    • 当某一个大版本完成之后,需要打一个标签
    • 作用:

      • 记录大版本
      • 备份大版本代码

    模拟经理打标签

    1.进入到经理的本地仓库test007
    
     cd Desktop/manager/test007/
    
    
    
    2.经理在本地打标签
    
     git tag -a 标签名 -m '标签描述'
     例:
     git tag -a v1.0 -m 'version 1.0'


    3.经理推送标签到远程仓库

    
    
     git push origin 标签名
     例:
     git push origin v1.0


    补充:删除本地和远程标签
    
      # 删除本地标签
      git tag -d 标签名
      # 删除远程仓库标签
      git push origin --delete tag 标签名

    分支

    作用:
    区分生产环境代码以及开发环境代码
    研究新的功能或者攻关难题
    解决线上bug
    特点:
    项目开发中公用分支包括master、dev
    分支master是默认分支,用于发布,当需要发布时将dev分支合并到master分支
    分支dev是用于开发的分支,开发完阶段性的代码后,需要合并到master分支

    模拟经理分支操作

    1.进入到经理的本地仓库test007
    
     cd Desktop/manager/test007/
    
    
    2.查看当前分支
    
      git branch
    没有创建其他分支时,只有master分支
    
    
    3.经理创建并切换到dev分支
    
     git checkout -b dev
    
    
    4.设置本地分支跟踪远程指定分支(将分支推送到远程)
    
      git push -u origin dev
    
    
    5.经理在dev分支编辑代码
    
    
    6.管理dev分支源代码:add、commit、push

    7.dev分支合并到master分支
    
    提示:只有当dev分支合并到master分支成功,张三才能获取到num4
    7.1 先切换到master分支
    
      git checkout master
    
    
    7.2 dev分支合并到master分支
    
      git merge dev
    
    
    7.3 经理推送合并分支操作到远程仓库
    
    合并分支默认在本地完成,合并后直接推送即可
    
    git push

    8.张三同步经理合并后的num4
    
    只有当张三同步代码成功,分支合并才算成功
    
      cd Desktop/zhangsan/test007/
      git pull

    '''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仓库)
  • 相关阅读:
    1366. Rank Teams by Votes
    1361. Validate Binary Tree Nodes
    1359. Count All Valid Pickup and Delivery Options
    1358. Number of Substrings Containing All Three Characters
    JQuery跳出each循环的方法(包含数组遍历)【转】
    JS数组转字符串(3种方法)【转】
    js的15种循环遍历,你掌握了几种【转】
    js/jQuery获取data-*属性值【转】
    Thinkphp volist 多重循环原样输出数组key值的使用总结【转】
    php 循环【转】
  • 原文地址:https://www.cnblogs.com/xiaoxiamiaichiyu/p/14146379.html
Copyright © 2011-2022 走看看