一.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. spark 源码编译 standalone 模式部署

    本文介绍如何编译 spark 的源码,并且用 standalone 的方式在单机上部署 spark. 步骤如下: 1. 下载 spark 并且解压 本文选择 spark 的最新版本 2.2.0 (20 ...

  2. LaTex&&markdown

    LaTeX在线编辑器:传送门 LaTeX常用公式整理(转载):传送门 Markdown洛谷教程(转载):传送门 Markdown基本语法(转载):传送门 Markdown数学符号和语法(转载):传送门 ...

  3. Python MySQLdb 执行sql语句时的参数传递

    使用MySQLdb连接数据库执行sql语句时,有以下几种传递参数的方法. 1.不传递参数 conn = MySQLdb.connect(user="root",passwd=&qu ...

  4. Nova rebuild for boot from volume issue

    目录 文章目录 目录 Nova boot from volume Rebuild Instance Rebuild for boot from volume Nova boot from volume ...

  5. Python线程和协程

    写在前面 好好学习 天天向上 一.线程 1.关于线程的补充 线程:就是一条流水线的执行过程,一条流水线必须属于一个车间: 那这个车间的运行过程就是一个进程: 即一个进程内,至少有一个线程: 进程是一个 ...

  6. oracle 创建多个数据库

    1. 2. 3. 4. 5. 6. 7.监听程序 8.后面的我全选择默认(脚本位自定义了一下) 9.

  7. nginx不记录指定文件类型的日志

    1.指定记录文件日志记录的内容. vim /usr/local/nginx/conf/nginx.conf如下部分: log_format dd '$remote_addr $http_x_forwa ...

  8. 阶段3 2.Spring_04.Spring的常用注解_5 自动按照类型注入

    运行出现了空指针异常 @Autowired 注解出现的位置 AutoWired的代码 常用的就是写类上和方法上. 运行测试,刚才运行是一个空指针异常 也就是通过Autowired 这个accountD ...

  9. PyCharm安装+破解

    PyCharm 是一款功能强大的 Python 编辑器,具有跨平台性,鉴于目前最新版 PyCharm 使用教程较少,为了节约时间,来介绍一下 PyCharm 在 Windows下是如何安装的. 这是 ...

  10. loadrunner 场景设计-手工场景方案(Schedule)设计 Part 2

    loadrunner 场景设计-手工场景方案(Schedule)设计 Part 2 ---------------------------接Part 1------------------------ ...