前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音,那么问题来了,什么是svn和git呢?

  svn和git其实都是一种用来管理项目的控制版本工具,他们有很多好处,比如

    1.防止代码丢失----可以把自己的代码上传到服务器上

    2.适合多人开发----合并代码超级简单

    3.能够进行版本回退

    4.能解决冲突和bug

    5.可以做分支

    6.责任到人----可以查看写代码的日志

    7.有权限的控制

  接下来便叫大家如何使用svn以及git,

  要学习svn和git,首先需要知道几条交单的LINUX命令

  如下:

    1.ls-----查看当前目录下所有的文件以及文件
    2.cd-----切换目录
    用法:cd 路径名
    注意事项:只能切换到下一级目录,如果想切换到别的目录,必须跟完整的路径名
    3.cd .. 回到上一级目录
    cd .回到根目录
    4.clear 清除画面
    5.创建一个文件
    touch 文件名
    6.创建一个文件夹
    mkdir 文件夹名
    7.rm -r 路径 //删除一个文件
    rmdir 文件名

  接下来便可以使用命令操作svn和git

   svn:(模拟:有一个项目经理,两个开发人员,------开发人员的工作大致一样,所以写了两个)

    首先需要知道svn服务器地址,svn服务器有公司的运维或后台负责人配置项目经理需要问这些人员要地址,并且把初始的项目导出   

1.项目经理初始化项目,并且把项目传递到服务器
>svn checkout 项目地址
输入t或者p t
输入电脑密码

输入账号密码

>提交框架到svn服务器
svn commit--- 如果有新创建的文件或者文件夹 需要使用svn add 命令;
svn add ----告诉svn服务器 我这里有新创建的文件
svn st 用来查看当前svn的状态

?代表服务器不知道你要干什么,
"svn st 查看了状态 --- 有?
svn add . 把snow下的所有全部添加svn中
svn commit -m "注释"

2.开发人员1

svn checkout + (项目经理给的地址) -------从服务器上导出文件

新建了一个文件(这个文件是新建的工程,不能放在别的工程里)
svn st 查看了当前状态
发现文件 .html 有问号
svn add 文件.html(不可以再次使用svn add .)
svn commit -m"注释"

3.开发人员2:
> 更新自己的项目让自己的项目跟服务器最新的版本保持一致
svn update 更新

5.如果没有创建新文件
不需要使用svn add
直接使用svn commit -m "注释"

6.svn log 可以查看日志

二----"svn 版本回退"

第一种情况:开发人员为提交的情况
svn revert 文件名 会退到上次更新的版本

第二种情况:开发人员已经提交的情况
可以使用svn update -r 版本号

三----"svn 冲突问题"

出现的原因:多人修改同一个文件
1.首先选择p
2.解决冲突---三种解决方式:保留其中一方的代码 或者都保留
3.为了避免冲突,醒目经理应该告诉组员 那些文件不可改动 ,
一个人在修该文件的时候,在他提交以前,其他人不要进行修
改,等他提交完毕之后,其他人更新了再更改
svn resolved (修改好的文件名)
svn commit

git (流程大概和svn一样,只不过git需要先缓存到本地,在推送到服务器上,另外命令也会有一点小差别,如下)

GIT"
1.项目经理在服务器初始化项目
2.从服务器导出项目
git clone 地址
git命令 操作的时候,当前目录下必须存在.git隐藏文件
git add * 添加文件到本地缓存区
git commit -m "注释" 把文件提交到本地仓库
git push 把文件推送到本地仓库
(空文件夹上传不上去)

项目开发当中 ,提交更改之前应该先更新
git pull

冲突问题: 跟svn一样

删除文件: git rm 一个文件名

以上即为命令行操作svn和git,当然windows和mac也有不同的软件,但只要学会了命令行操作svn和git,软件自然就不在话下啦!

命令行操作svn和git和git的更多相关文章

  1. 【Git】命令行操作

    Git 命令行操作 1 本地库初始化 git init:初始化本地仓库 效果 注意:.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改. 2 设置签名 形式: 用户名:tom E ...

  2. windows下使用TortoiseGit代替Git命令行操作

    windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...

  3. git 常用命令行操作

    git常用命令行操作: 点击 git bash 进入到命令行: git clone https://github.com/wlz1244/qingoo.git   //下载一个master分支代码 g ...

  4. Mac 下 Git 的基础命令行操作

    Mac 下 Git 的基础命令行操作 sudo apt-get install git-core //安装Git 用户配置 git config --global user.name "Yo ...

  5. git 工作流中的 Sourcetree 和命令行操作对比

    git 工作流操作 1.初始化本地仓库文件夹 终端进入项目文件夹 git init 隐藏文件夹中有 .git 文件夹则初始化成功 2.git 查看仓库状态 这里以新建一个 demo.txt 为例 ① ...

  6. git 命令行操作(之前整理在有道的笔记)

    1. 常用命令 切换分支 git checkout [branch_name] 检出分支 git clone [git_URL] 更新分支 git pull origin [branch_name] ...

  7. 3.Git 命令行操作

    1.Git 命令行操作(本地库操作): 1.1. 创建本地库(本地库初始化): 第一步:首先在D盘建了个名为git空文件夹,命令行中cd到这个文件夹: 第二步:通过git init命令把这个目录变成G ...

  8. SVN的命令行操作

    最近在进行svn二次开发,使用的是svnkit.看了很多svnkit的api,渐渐发现都是和SVN的命令行操作对应的.顺便研究一下svn的命名行操作. 1.将文件checkout到本地目录: 基本命令 ...

  9. Android-Git命令行操作

    Git命令行操作,在Mac上使用的话,Mac会自带了Git,直接在终端或者iTerm都可以执行Git命令操作:    Git命令行操作,在Windows系统电脑上使用的话,需要安装Git,安装好Git ...

随机推荐

  1. ABAP 特性值取数 非BAPI方式

    特性值在ausp,objnr  一般是客户号或是客户号拼接的,客户号加特征字段特征类别就可以取了

  2. Cocos2dx

    初玩Cocos2dx,多多包涵. 感觉版本之间的差异比较大,相对前面的版本来说,3.X更容易上手,更方便了. 一.安装python.我的python-2.7.3.配置环境变量 系统变量里:在Path里 ...

  3. Storm Windowing storm滑动窗口简介

    Storm Windowing 简介 Storm可同时处理窗口内的所有tuple.窗口可以从时间或数量上来划分,由如下两个因素决定: 窗口的长度,可以是时间间隔或Tuple数量: 滑动间隔(slidi ...

  4. pk8和x509.pem转换成keystore

    转自:http://www.cnblogs.com/platte/p/3511814.html 一 在github上下载工具 https://github.com/getfatday/keytool- ...

  5. Python-面向对象(类)二

    一.成员修饰符 • 共有成员 • 私有成员 __+字段 __:成员修饰符 无法直接访问,只能通过该成员所属类的方法简介访问 class Foo: def __init__(self, name, ag ...

  6. 杨氏矩阵:查找x是否在矩阵中,第K大数

    参考:http://xudacheng06.blog.163.com/blog/static/4894143320127891610158/ 杨氏矩阵(Young Tableau)是一个很奇妙的数据结 ...

  7. LWIP总结

    介绍 Lwip,light weight IP:是由Adam Dunkels 开发的一个小型开源的TCP/IP协议栈:目前已经为全球共同开发的开源协议:支持TCPIP协议族的核心协议:包括:ARP/I ...

  8. HDU 1848 SG函数博弈

    Fibonacci again and again Problem Description   任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的:F(1 ...

  9. js类数组

    类数组 - [ Array-like ] : objects 1. what's Array-like 类数组和数组很像,但是数组的很多方法却不能用,这就很尴尬了~ 像 arguments.nodel ...

  10. java function retry wrapper

    import java.util.concurrent.Callable; /** * Created by huahui.yang on 1/29/16. */ public class Retry ...