svn and git git and using on-line & resolve conflict

  A .svn

 

 

 git workflow

   git workflow diagram

 

 

  Based on the use of two .git

  git installation

  1. Download the corresponding version: HTTPS: //git-scm.com/download
  2. Installation git: Select Use a TrueType font in all console windows option selected next installation path

    2.1 Workflow native code library repository remote staging area warehouse repository

    2.2git the basis of use

    cd catalog file

    git init repository name

    Global user directory in the terminal warehouse  

    config git - , Ltd. Free Join user.name ' username ' 
    git config - , Ltd. Free Join user.email ' user mailboxes 

    NOTE: Global File C: \ Users \ user folder \ .gitconfig new user information can be used in all warehouses

  

  Check warehouse status    

  Status git 
  git Status -s minimalist version of the show

 

  Undo workspace operations: delete change  

          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)

 

 

 

    

Guess you like

Origin www.cnblogs.com/mofujin/p/11756768.html