一.svn

git的工作流程

  git 的工作流程图

  二.git的基础使用

  git 的安装

  1.下载对应版本:https://git-scm.com/download
  2.安装git:在选取安装路径的下一步选取 Use a TrueType font in all console windows 选项

    2.1 工作流程  本地代码库 暂存区 版本库 远程仓库  版本库

    2.2git的基础使用

    cd 目录文件

    git init 仓库名

    在仓库目录终端 下设置全局用户  

    git config --global user.name'用户名'
    git config --global user.email'用户邮箱

    注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用

  

  查看仓库工作状态    

  git status
  git status -s 简约版的显示

  撤销工作区操作:改 删  

          git checkout .
             --撤销所有暂存区的提交
       git checkout 文件名    撤销 >>>单个文件暂存区的提交                                                     

  增

  工作内容提交到暂存区

      git add . 所有文件
    git add 文件名 指定文件    

  暂存区提交:add添加的逆运算

    

  git reset HEAD .
  撤销所有已经提交到缓存区的代码
  git reset 文件
  撤销指定文件在缓存区的提交                        

  提交缓存区的代码到服务版本库

  git  commit -m'新建的文件'

  撤销:commit 的你运算 如下

  回滚暂存取已经提交到版本库的代码  操作

 回滚暂存区已经提交到版本库的操作:
    查看历史版本:
        >: git log
        >: git reflog
    查看时间点之前|之后的日志:
        >: git log --after 2018-6-1
        >: git log --before 2018-6-1
        >: git reflog --after 2018-6-1
        >: git reflog --before 2018-6-1
    查看指定开发者日志
        >: git log --author author_name
        >: git reflog --author author_name
    回滚到指定版本:
        回滚到上一个版本:
            >: git reset --hard HEAD^
            >: git reset --hard HEAD~1
        回滚到上三个版本:
            >: git reset --hard HEAD^^^
            >: git reset --hard HEAD~3
        回滚到指定版本号的版本:
            >: git reset --hard 版本号
            >: eg: git reset --hard 35cb292

  过滤文件

     在我们的项目文件中创建一个.gitigor文件

    

# 1)在仓库根目录下创建该文件
# 2)文件与文件夹均可以被过滤
# 3)文件过滤语法

""" 过滤文件内容
文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
/文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤

eg:
a.txt:项目中所有a.txt文件和文件夹都会被过滤
/a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤
/b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤 >>> / 后面的所有文件 均别过滤

  三. 创建远程gitee(码云)代码仓

      (1)remote 源

      查看git上传源既源的链接信息

      git remote

      git  remote -v

      删除源的链接信息

      git  remote remove  源的名字

      备注:origin远程的源明名  默认是健在mster主分支上 可以进行改名

  (2)用本地仓库首次初始化远程仓库

  本地仓库与远程建立连接

  

前提:本地仓库已经创建且初始化完毕(代码已经提交到本地版本库)

本机命令,添加远程源:git remote add origin ssh@*.git
    采用ssh协议的remote源

  (3)创建电脑的公钥秘钥

官网:https://gitee.com/help/articles/4181#article-header0

本机命令,生成公钥:ssh-keygen -t rsa -C "*@*.com"
    邮箱可以任意填写
本机命令,查看公钥:cat ~/.ssh/id_rsa.pub

码云线上添加公钥:项目仓库 => 管理 => 部署公钥管理 => 添加公钥 => 添加个人公钥

  

  (4)提交本地代码到远程仓库

   命令:git push origin master

   四.多分支开发

    4.1 分支操作

     (1)创建分支

      git branch +分支名

      (2)查看分支

      git branch

      

 >>> git branch + 分支名
    

    1847@LAPTOP-ELAO5HR8 MINGW64 ~/Desktop/aaa (master)
    $ git branch dev

    1847@LAPTOP-ELAO5HR8 MINGW64 ~/Desktop/aaa (master)
    $ git branch
    dev

      

    (3)切换分支

    git checkout  +分支名 

Switched to a new branch 'prod'

1847@LAPTOP-ELAO5HR8 MINGW64 ~/Desktop/aaa (prod)

    (4)创家分支 并切换到分支

    git checkout  -b + 分支名

    (5)删除分支

     git branch -d + 分支名

    (6)查看远程分支

     git  branch -a

  五.项目开发 git操作

    (1)基本流程

   

     --1. 开发前我们第一件事就是在远程版本库中将代码pull 到我们的本地版本库

     --2. 工作区进行开发

     --3.  将开发的完成的最终代码提交到本地版本库 - git status 查看有没有带处理的事件(代码的冲突问题>>>开发的文件一样而产生)

     --4. 拉取远程仓库(每一次提交远程仓库前必须先拉取代码 (进行查看事件 避免)), 

     -- 5. 如果有出现冲突是 , 线下沟通进行协商(协商重新开发 冲突文件) >> 要重新走3 . 4 步骤

      --6. 没有冲突, 提交到远程仓库

    (2)协同开发

    

  1. 所有人在一个分支上进行开发  -- 通常开发分支名为dev 

       2. 遵循git 开发流程 , 先移交本地本班库,仔拉取服务器代码, 最后提交代码

          提交代码到本地版本库: git commit -m '版本信息'

          拉取服务器代码: git pull 源名 + 分支名

           提交代码到远程代码库:gitpush 源名+分支名

    (3)冲突的解决

     1. 打开冲突的文件

     2.定位到冲突位置: >>>>冲突开始 自身代码 ==== 冲突代码 <<><><<>> 版本号

     3. 删除冲突提示信息: >>>>>冲突开始 ====  <<><><><>< 版本号

     4. 线下沟通整合 自身代码与冲突 代码 , 行成最终代码结果

     5. 重新提交到本地版本库, 再拉取服务器代码 ,最后提交代码

    (4)合并分支

    eg:  将dev 分支的内容合并=到prod分支上

    1. 切换prod 分支: git checkout prod

    2. 合并dev 分支: git merge dev

    

1847@LAPTOP-ELAO5HR8 MINGW64 ~/Desktop/aaa (dev)
$ git checkout prod
Switched to branch 'prod'

1847@LAPTOP-ELAO5HR8 MINGW64 ~/Desktop/aaa (prod)
$ git merge dev
Already up to date.

1847@LAPTOP-ELAO5HR8 MINGW64 ~/Desktop/aaa (prod)

    

git和svn 及git使用&解决上线冲突的更多相关文章

  1. Git与SVN区别 \git学习

    http://blog.csdn.net/w13770269691/article/details/38705473/ https://git-scm.com/book/zh/v2

  2. git与svn对比

    git 与 svn 对比 git的使用不需要联机 SVN集中式版本控制:每个人的版本都是提交到服务器,服务器坏了就雪崩.git分布式版本控制:  安全,每人本地有个版本库,每个人都可以充当‘服务器 它 ...

  3. Git与SVN交叉使用

    将本地git项目添加到远程svn中 git svn [svnprojpath] svnprojpath为原创svn项目路径 -- 文件夹路径,你要放到哪个文件夹 官方文档中带有-s参数,但我这边加了会 ...

  4. 国内代码托管平台(Git和SVN)

        Github(Git和SVN)https://github.com/ 可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS ...

  5. 【从零开始】【Java】【1】Git和svn

    闲聊 干活快一年了吧,感觉工作中能干的事情也有一点了,但总有种不通透的感觉,查一个问题,能一路查出一堆不明白的东西. 之前新建过文档是记录点点滴滴的知识的,使用上没问题了,但原理什么的还是不懂,想了想 ...

  6. ubuntu搭建svn、git遇到的问题及解决办法

    不错的git笔记博客: http://www.cnblogs.com/wanqieddy/category/406859.html http://blog.csdn.net/zxncvb/articl ...

  7. Git学习系列之 Git 、CVS、SVN的比较

    Git .CVS.SVN比较 项目源代码的版本管理工具中,比较常用的主要有:CVS.SVN.Git 和 Mercurial  (其中,关于SVN,请参见我的博客:SVN学习系列) 目前Google C ...

  8. Git x SVN rebase事故

    Git x SVN rebase事故 @author ixenos 2019-01-09 14:21:21 前言: 昨天在Git x SVN 中进行git svn dcommit的时候,提示需要再进行 ...

  9. SVN和Git代码管理小结

    SVN和Git代码管理小结  之前,先用的是SVN,后来用了Git,最近又在用SVN.  关于代码管理,写几句.    由于自己参与的项目,人通常不超过10个人,版本不是很多,协作比较正常,感觉SVN ...

随机推荐

  1. 获取<a>标签值</a>的标签值及更改

    html代码: <a id="catelogue_div1_h5" onclick="catelogue_div1(event)">隐藏</a ...

  2. tensorflow实现迁移学习

    此例程出自<TensorFlow实战Google深度学习框架>6.5.2小节 卷积神经网络迁移学习. 数据集来自http://download.tensorflow.org/example ...

  3. spark MLlib 概念 1:相关系数( PPMCC or PCC or Pearson's r皮尔森相关系数) and Spearman's correlation(史匹曼等级相关系数)

    皮尔森相关系数定义: 协方差与标准差乘积的商. Pearson's correlation coefficient when applied to a population is commonly r ...

  4. 使用KFold进行训练集和验证集的拆分,使用准确率和召回率来挑选合适的阈值(threshold) 1.KFold(进行交叉验证) 2.np.logical_and(两bool数组都是正即为正) 3.np.logical_not(bool数组为正即为反,为反即为正)

    ---恢复内容开始--- 1. k_fold = KFold(n_split, shuffle) 构造KFold的索引切割器 k_fold.split(indices) 对索引进行切割. 参数说明:n ...

  5. LeetCode 5——最长回文子串

    1. 题目 2. 解答 我们定义状态 state[i][j] 表示子串 s[i, j] 是否为回文子串,如果 s[i, j] 为回文子串,并且有 s[i-1] == s[j+1],那么 s[i-1, ...

  6. Jenkins发布回滚方案

    Jenkins回滚可以通过每次发布从主干打tag,然后发布的时候发tag,比如tag, v1, v2,v3 如果我发布了v3,想要回滚回v2,直接在Jenkins中选择v2的tag地址重新构建就可以回 ...

  7. Python学习笔记:MySQL数据库连接和使用

    一.安装pymysql插件 直接在pycharm中安装即可. 二.使用 1.数据库插入操作 insert 注意: insert语句需要提交,使用commit() 如果报错,需要回滚.使用rollbac ...

  8. CentOS 7 Docker 安装

    CentOS Docker 安装 Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 本文以 CentOS 7.6 版本 ...

  9. oracle数据字典视图

    数据字典的概念       还记得我们在手工建库的时候,运行的两个脚本文件.一个是catalog.sql,另一个是catproc.sql.catalog.sql是用来创建数据库的内部字典表的.catp ...

  10. wps字体缺失,问题

    启动WPS for Linux后,出现提示"系统缺失字体" . 出现提示的原因是因为WPS for Linux没有自带windows的字体,只要在Linux系统中加载字体即可. 具 ...