git和svn 及git使用&解决上线冲突
一.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使用&解决上线冲突的更多相关文章
- Git与SVN区别 \git学习
http://blog.csdn.net/w13770269691/article/details/38705473/ https://git-scm.com/book/zh/v2
- git与svn对比
git 与 svn 对比 git的使用不需要联机 SVN集中式版本控制:每个人的版本都是提交到服务器,服务器坏了就雪崩.git分布式版本控制: 安全,每人本地有个版本库,每个人都可以充当‘服务器 它 ...
- Git与SVN交叉使用
将本地git项目添加到远程svn中 git svn [svnprojpath] svnprojpath为原创svn项目路径 -- 文件夹路径,你要放到哪个文件夹 官方文档中带有-s参数,但我这边加了会 ...
- 国内代码托管平台(Git和SVN)
Github(Git和SVN)https://github.com/ 可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS ...
- 【从零开始】【Java】【1】Git和svn
闲聊 干活快一年了吧,感觉工作中能干的事情也有一点了,但总有种不通透的感觉,查一个问题,能一路查出一堆不明白的东西. 之前新建过文档是记录点点滴滴的知识的,使用上没问题了,但原理什么的还是不懂,想了想 ...
- ubuntu搭建svn、git遇到的问题及解决办法
不错的git笔记博客: http://www.cnblogs.com/wanqieddy/category/406859.html http://blog.csdn.net/zxncvb/articl ...
- Git学习系列之 Git 、CVS、SVN的比较
Git .CVS.SVN比较 项目源代码的版本管理工具中,比较常用的主要有:CVS.SVN.Git 和 Mercurial (其中,关于SVN,请参见我的博客:SVN学习系列) 目前Google C ...
- Git x SVN rebase事故
Git x SVN rebase事故 @author ixenos 2019-01-09 14:21:21 前言: 昨天在Git x SVN 中进行git svn dcommit的时候,提示需要再进行 ...
- SVN和Git代码管理小结
SVN和Git代码管理小结 之前,先用的是SVN,后来用了Git,最近又在用SVN. 关于代码管理,写几句. 由于自己参与的项目,人通常不超过10个人,版本不是很多,协作比较正常,感觉SVN ...
随机推荐
- java链接Mysql出现警告:Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by
Java使用mysql-jdbc连接MySQL出现如下警告: Establishing SSL connection without server's identity verification is ...
- 【Spark机器学习速成宝典】模型篇02逻辑斯谛回归【Logistic回归】(Python版)
目录 Logistic回归原理 Logistic回归代码(Spark Python) Logistic回归原理 详见博文:http://www.cnblogs.com/itmorn/p/7890468 ...
- 【java多线程】volatile 关键字
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言是支持多线程的,为了解决线程并发的问题,在语 ...
- typescript 第二部分
ts 中不允许变量同名 函数定义的两种方式 第一种:命名函数 = 声明式定义 function fn(){} 第二种:匿名函数 var fn = function(){} function fn(x: ...
- 浅谈Uep分页查询
<hy:ajaxgrid id="unitGrid" showpagerbar="true" name="unitWrap" show ...
- MethodChannel 实现flutter 与 原生通信
Flutter 步骤 目的:在flutter页面中主动调用原生页面中的方法. 1 在widget中,定义MethodChannel变量 static const MethodChannel metho ...
- kotlin之字符串模板
所谓字符串模板就是在字符串中添加若干个占位符,内容会在后期指定,也就是说,用模板可以设置字符串动态的部分,模板使用美元符号$设置如i=$i 中 的$i就是一个占位符,其中4后面的i是变量,随着i的变化 ...
- GO开发:链表
链表 type Student struct { Name string Next* Student } 每个节点包含下一个节点的地址,这样把所有的节点串起来了,通常把链表中的第一个节点叫做链表头 p ...
- BurpSuite(二) proxy 模块
Proxy代理模块作为BurpSuite的核心功能,拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流. Burp 代理允许你 ...
- nginx子配置文件实例
[root@bogon conf.d]# cat /etc/nginx/conf.d/test6.conf server { listen 8085; server_name 192.168.0.20 ...