精华内容
下载资源
问答
  • 在VSCode中使用码云(Gitee)进行代码管理

    万次阅读 多人点赞 2018-03-30 18:46:59
    【教程】在VSCode中使用码云进行代码管理 前言 本教程核心内容 本文主要是整合了网上教程, 从Git安装开始,配置关联本地仓库到码云,最终用上VScode这个流程。 非常基础和简单,照着操作就行了。 起因 平时...

    【教程】在VSCode中使用码云进行代码管理

    前言

    本教程核心内容

    本文主要是整合了网上教程,

    从Git安装开始,配置关联本地仓库到码云,最终用上VScode这个流程。

    非常基础和简单,照着操作就行了。

    起因

    平时常写python脚本,原先用Sublime,现在用VScode,发现编辑器左侧有代码管理这个按钮,于是开始找怎么设置VSCode能和码云连在一起。

    踩了一些坑,理顺了思路,才发现一点关系都没有。

    正确的思路是:安装Git;关联码云;打开VSCode。

    是的你没看错,前两步设置好了,打开VSCode直接就能用上码云的代码管理了。

    Git和Github的关系:

    Git是一个分布式的版本控制系统,只是软件,需要你下载装到电脑上,实现git功能。

    Github、BitBucket、Gitee基于git的项目托管平台,说白了是云服务器或云盘,存储分享你的代码,查看追更别人的代码。 理解了这些,大概就能明白有一堆程序员所在的Github为什么被戏称是全球最大的同性交友平台这个梗了。Github、BitBucket是国外的,连接速度因人而异;另外Github收费用户才能创建私有项目(2020-09-19备注:卖给微软后现在已经可以创建私有项目了)。

    准备内容

    1. 注册码云(Gitee),创建一个项目,得到项目url:https://gitee.com/YourGiteeName/projectname
    2. 下载git安装, 全都按下一步就行了。
    3. 下载VSCode安装。

    如何生成ssh公钥

    本段内容大部分引用自码云平台帮助文档

    打开Git Bash,安装完git就有这个了。

    你可以按如下命令来生成 sshkey:

    ssh-keygen -t rsa -C "youremail@xxx.com"
    
    # Generating public/private rsa key pair...
    # 三次回车即可生成 ssh key

    查看你的 public key

    cat ~/.ssh/id_rsa.pub
    # ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

    打开码云SSH公钥管理页面 https://gitee.com/profile/sshkeys

    填写标题:

    yourname's SSH key

    公钥:

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc...

    添加后,回到Git Bash中输入

    ssh -T git@gitee.com

    如果有弹出询问(yes/no),输入

    yes

    若返回

    # Welcome to Gitee.com, YourGiteeName!

    则证明添加成功。

    Git操作

    初始化Git

    首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中。

    git config --global user.name yourname  # "你的名字或昵称"
    git config --global user.email youremail@xxx.com # "你的邮箱"

    创建版本库

    本段内容大部分引用自廖雪峰的官方网站 创建版本库

    什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

    所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录YourProjName(名字任意):

    cd /e/
    mkdir YourProjName
    cd YourProjName

    如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

    第二步,通过git init命令把这个目录变成Git可以管理的仓库:

    git init
    # Initialized empty Git repository in E:/YourProjName/.git/

    瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

    关联

    本段内容大部分引用自码云平台帮助文档V1.2 Git 常用命令与名词解释

    把一个本地仓库与一个云端Gitee仓库关联。

    项目地址形式为:https://gitee.com/YourGiteeName/YourProjName.git 或者 git@gitee.com:YourGiteeName/YourProjName.git

    git remote add origin https://gitee.com/YourGiteeName/YourProjName.git

    如果只是需要使用vscode管理,到这里就可以直接跳到本文最后一段【在VSCode实现代码管理】去看了


    下面接着讲git命令行其他操作

    其中origin代表的是你远程的仓库,习惯如此命名,可以通过命令 git remote -v 查看

    git remote -v
    # origin  https://gitee.com/YourGiteeName/YourProjName.git (fetch)
    # origin  https://gitee.com/YourGiteeName/YourProjName.git (push)

    如果你想克隆一个项目,只需要执行:

    git clone <项目地址>

    同步(拉取)

    同步,也可以称之为拉取,在Git中是非常频繁的操作,和SVN不同,Git的所有仓库之间是平等的,所以,为了保证代码一致性,尽可能的在每次操作前进行一次同步操作,具体的为在工作目录下执行如下命令:

    git pull origin master

    master是分支名,如果你本地是其他分支,请换成其他分支的名字,另,因为远程仓库与你本地仓库可能存在冲突,故当存在冲突时,请参考进阶篇的如何处理冲突

    查看文件夹,会发现 Gitee仓库上 README.md 文件被下载回来了。

    提交

    git作为支持分布式版本管理的工具,它管理的库(repository)分为本地库、远程库。

    这里我们把 add(暂存)、提交(commit)、推送(push),放到一起说,因为每次上传代码都需要执行这三步(关于冲突处理、分支合并等以后用到了再研究,本文只说基础部分)。

    git add     # 加入到暂存区
    git commit  # 提交到本地库
    git push    # 发送给远程库

    首先,我们打开 README.md ,在里面稍稍加上几个字,保存。这样文件就做了修改。

    再来查看git状态

    git status
    # On branch master
    # Changes not staged for commit:
    #   (use "git add <file>..." to update what will be committed)
    #   (use "git checkout -- <file>..." to discard changes in working directory)
    #
    #         modified:   README.md
    #
    # no changes added to commit (use "git add" and/or "git commit -a")

    会提示你modified: README.md ,意思是这个文件被修改了。no changes added to commit 是说目前暂时没有文件放到暂存区。

    所以我们将文件加入暂存区。

    git add -A

    -A表示将所有文件的修改,文件的删除,文件的新建,都添加到暂存区。

    然后提交到本地库,并附加注释。

    git commit -m "第一次提交"
    # [master 1cc3dd5] 第一次提交
    #  1 file changed, 1 insertion(+), 1 deletion(-)

    -m后面的是本次提交的说明,通常可以备注你改了什么,便于以后翻看历史记录时,能直观知道这是哪个版本,这个版本改了些什么东西。

    最后推送到远程库,也就是Gitee上的项目里。

    git push origin master
    # Counting objects: 3, done.
    # Writing objects: 100% (3/3), 297 bytes | 297.00 KiB/s, done.
    # Total 3 (delta 0), reused 0 (delta 0)
    # To https://gitee.comYourGiteeName/YourProjName.git
    #    5464c11..1cc3dd5  master -> master

    Git Gui

    上面说的都是代码上的操作,实际上安装完Git之后,也有GUI界面可以直接使用。

    打开 Git Gui,选择Open Existing Repository,找到刚刚创建的本地库打开。

    界面比简单,只有几个按钮:

    Rescan检查仓库中文件状态; Stage Changed就是add暂存; CommitPush就是提交、推送。

    注:如果发现中文乱码,我们修改一下配置文件编码,改为utf-8就好了

    git config --global gui.encoding utf-8

    在VSCode实现代码管理

    点击 文件 > 将文件夹添加到工作区 > E:/YourProjName/ 就完成了。

    无需任何配置,VSCode自动获取.git配置实现代码管理: 发生变动的文件或代码会有颜色提示,而且可以对比前后改了哪些地方。

    需要上传的时候: 

    点击+号,加入暂存;

     在[ 消息 (按 Ctrl+Enter 提交) ]中输入commit注释; 

    点击同步图标,push出去。

    展开全文
  • 在敏捷开发中,单一主干代码管理经常被提及,那为什么要采用单一主干代码管理?单一主干代码管理带来哪些好处?如何做到持续发布新功能并定期稳定的可商用的版本? 为什么采用单一主干代码管理? 在敏捷研发中的...

    http://blog.sina.com.cn/s/blog_74bd788f0101aohh.html

     

    在敏捷开发中,单一主干代码管理经常被提及,那为什么要采用单一主干代码管理?单一主干代码管理带来哪些好处?如何做到持续发布新功能并定期稳定的可商用的版本?

             为什么采用单一主干代码管理?

    在敏捷研发中的代码管理控制时,我们需要牢记两点[1]

    首先,只有频繁提交代码,你才能享受版本控制带来的众多好处,比如及时回滚到最近的无错误版本。

    其次,一旦将变更提交到版本控制中,那么团队的所有人都能看到这些变更。由于提交意味着公开,无论修改了什么,都要确保它不会破坏原有的系统,所有每一位开发人员必须谨慎的对待其提交可能带来的影响。

    如果在版本控制系统中为新功能建立单独的分支,到某个时间点后,当这些修改内容的质量令人满意了,再将其合并到主干,这个类似“两阶段提交”。这种方式存在以下问题

    1.       它违背了持续集成的宗旨,因为新建分支的做法推迟了新功能的整合,只有当该分支被合并时才可能发现集成问题。

    2.       如果多个开发者同事分别创建多个分支,问题会成指数增加,而合并过程也会及其负责。

    3.       它让重构代码变得非常困难,因为分支往往涉及多个文件,会让合并变得更加困难。

     

             单一主干代码管理带来的好处?

    在代码管理时,如果单一主干代码管理,可以给开发团队带来如下的好处。

    1.       确保所有的代码被持续集成,只有单一主干才能使得所有开发人员的代码被持续集成。

    2.       确保开发人员及时获得他人代码,将开发人员间的影响及时暴露,减少由于沟通不及时带来的隐性问题。

    3.       避免项目后期的“合并地狱”和“集成地狱”。

     

    这样的做法可以让开发人员花更多的时间在架构设计和代码优化上,而不是从事代码合并工作。

     

     

             单一代码管理在已上线软件中存在的问题

    那如何在单一主干代码做到持续集成新功能或优化代码,修复现网版本的bug及定期上线最新的商用版本?

             在实际开发工作中,单一主干的代码管理在项目新建立期间问题不太大,但是如果项目进入到维护期时,容易引入如下问题,

    A. 紧急修复的即时性和版本开发的周期性的矛盾。

    B. 版本连续开发中,开发和测试存在时间差,导致无法快速发布稳定的可商用的版本。

    敏捷开发代码管理规则:为什么要采用单一主干代码管理?如何做到单一主干代码管理?
     

    图1 研发过程中代码管理的状况

    如图1所示,当我们在T0发布现网的版本后,开发人员每天checkin开发的最新代码,但每天开发的代码未必完全能够完成整个用户故事。如果在Tn开始下一版本的预发布,则测试团队在Tn时刻开始测试会遇到如下几种情况

    1.       在Tn之前还存在一些没有解决的Bug

    2.       在Tn之前还存在没有完全开发完成新的用户故事

    3.       测试人员在Tn上的版本进行测试,会测试出一些新的bug

    在这种情况下,开发人员会不断的checkin新代码,fix bug和完成新的用户故事,同时新checkin的代码可能产生新的bug,这样不断的循环,会导致生成一个稳定的版本变得十分困难而且非常耗时,一般会做法会采用如下方法,

    1.       在Tn时刻确保所有的功能已经被开发完成,如果有没有开发完成的功能,所有开发人员等待剩余新功能的开发人员完成工作,完成后再开始测试工作。在测试中一般会采用以下两种方法,

    a)         方法一,在Tn时刻为release版本分出分支,测试和研发基于生产的版本分支进行测试和代码开发。

    b)         方法二,在Tn时刻不为release版本生产分支,所有开发人员停止新功能的研发工作,只完成测试人员测试出来的bug,此过程直到QA通过版本发布为止。

    可以通过对以上两种方式分析,存在无法单一主干管理或者导致开发人员无法持续研发新的功能的问题,如果采用方法一还可能导致版本合并的问题。

     

    如何能做到单一代码管理并不影响持续的新功能开发和软件发布?

             综上,在敏捷研发过程中,采用单一主干代码管理必须辅助一些规则,才能实现上面提到的矛盾。通过分析主要矛盾集中在持续的开发新功能和定期发布版本的矛盾,而且bug fix是属于小范围改动应该在于可控范围内,所制定规则如下,        

    1.       新功能开发流程:增加一个打开状态的开关,此开关可以通过developing和developed两个标志来区分研发中,测试中和发布的状况,具体规则如下,

    a)       研发状态:研发人员在开发新功能时,需要根据开发进度设置新功能块的状态,例:当新功能处于开发状态时,需要将此功能块设置成developing(开发中)状态。

    b)       测试状态:当开发人员开发完毕,并完成本地测试没问题之后,将此功能块从developing状态改变成developed(开发完成)状态,交由测试人员对新功能进行测试。

    c)       发布状态:当新功能测试完毕之后,由产品经理和功能负责人一起决定是否发布此功能,如果决定发布,将developed标识从功能模块中去掉,并通过团队评审,进入主干代码。


    敏捷开发代码管理规则:为什么要采用单一主干代码管理?如何做到单一主干代码管理?
     

    图2新功能研发代码管理规则

    2.       定期发布稳定版本流程:

    a)       开始测试预发布版本

    1.       当从Tn时刻开始测试即将发布的版本时,通知所有研发人员,从这个时刻起停止所有新功能的状态变更,但是可以继续研发代码,并每天按照平时一样checkin 代码。

    2.       所有的bug fix必须保证全部修复完成后才能checkin 代码(bug一般都能在1-2个工作日内完成修改)

    b)       测试中:从Tn这个版本测试出来的问题,研发人员马上进行修复,并checkin到主干代码中,每天测试人员从库里取出编译出的最新版本进行测试(因为新模块的研发通过开关进行了控制,所以新模块的研发代码不会对软件质量造成影响),通过这个机制可以确保每天的代码是高于前一天的代码质量。

    c)       完成测试,达到发布标志:当在T(n+m)时刻,如果软件质量达到发布要求,则在此版本号上打上发布版本的Tag,并通知所有开发人员可以重新开启修改developing和developed标志,使新的功能在产品中生效。

     

    3.       紧急修复现网运营版本的Bug

    a)       当系统上报bug后,首先需要对bug进行分析并进行归类,如果不会导致业务无法使用或者crash的bug,则作为一般的日常问题进入产品bug库,尽量不要对现网运营系统进行打补丁。

    b)       如果发现了导致业务无法使用或者crash的bug,则找到现网的release版本,并在代码管理库此版本上拉出分支,并在此分支上进行bug fix,解决完成后,将相关代码立即合并会主干代码。

            通过以上规则处理,我们在实际敏捷研发中,在代码库规则中整体展现如下图所示

    敏捷开发代码管理规则:为什么要采用单一主干代码管理?如何做到单一主干代码管理?
     

    图3 建议的敏捷研发代码管理规则

    相关其他工作

                      此处需要CM进行配合,才能很好的完成测试,研发和产品发布之间的配合,具体规则如下图所示:

    敏捷开发代码管理规则:为什么要采用单一主干代码管理?如何做到单一主干代码管理?
     

    图4 代码配置规则

               本文提到的代码状态规则需要根据不同的项目和编程语言设计方案,我们在Android和iOS系统研发下采用了if(){…} else{…}语句进行实现,在struts框架下研发采用返回不同的状态进行控制实现,其他项目的实际控制方法建议根据实现情况进行调整。

     


    [1] Continuous Delivery –Reliable Software Releases Through Build,Test,and Deployment Automation [eng] Jez Humble, David Farley

     

    展开全文
  • 代码管理平台SVN

    千次阅读 2018-08-31 17:36:10
    22.1 代码管理平台 代码管理平台,也可以称为代码管理工具,顾名思义,就是管理代码的平台,代码可以是公司开发的网站,或者是开发的项目,我们需要把这些代码放到一个平台上面进行管理。 说到这可能有人会想,不...

    22.1 代码管理平台


    代码管理平台,也可以称为代码管理工具,顾名思义,就是管理代码的平台,代码可以是公司开发的网站,或者是开发的项目,我们需要把这些代码放到一个平台上面进行管理。

    说到这可能有人会想,不就是代码吗?我把它放在服务器上的某个目录不就行了吗?开发完新的项目再把代码传上去替换掉旧的代码不就可以了吗?

    当然,对于网站来说,这样做是没什么问题的。但是,如果代码每天有很多的地方在更新,当有一天,你想看到最近一段时间代码变化的地方,你怎么看?很不方便,而且你和同事都在开发的时候想看到对方开发的内容。而代码管理平台就能很容易实现目的。

    代码管理工具的作用:

    1. 能追踪一个项目从诞生一直到定案的过程
    2. 记录一个项目的所有内容变化,无限制返回
    3. 查看特定版本的修订情况
    

    常用的代码管理工具:

    CVS
        开启版本控制之门
        1990年诞生,“远古时代”的主流源代码管理工具
    SVN
        全称是Subversion,C/S架构,集中式版本控制之王者
        是CVS的接班人,速度比CVS快,功能比CVS多且强大
        在国内软件企业中使用最为普遍(70%-90%)
    GIT
        一款伟大的分布式源代码管理工具
        目前被越来越多的开源项目使用
        SVN正在被GIT慢慢取代
    

    GIT与SVN的不同在于GIT是分布式的,GIT不需要依赖服务端就可以工作,而SVN是集中式的,所以不行。

    分布式与集中式比较

    另外,github是基于git的在线web页面代码托管平台,可以选择付费服务。而gitlab可以认为是一个开源的github,两者没有直接关系。


    22.2 SVN


    SVN使用(Linux)

    因为是C/S架构,所以需要安装服务端和客户端。

    准备两台机器,一台作为服务端,IP:192.168.100.150,一台作为客户端,IP:192.168.100.160。


    服务端操作

    • 安装svn:
    # yum install -y subversion
    
    • 创建版本库:
    # mkdir -p /data/svnroot/myproject
    
    # svnadmin create /data/svnroot/myproject				#初始化文件
    
    # ls /data/svnroot/myproject/
    conf  db  format  hooks  locks  README.txt
    
    # ls  /data/svnroot/myproject/conf/
    authz  passwd  svnserve.conf          
    
    # vim /data/svnroot/myproject/conf/authz				#authz是权限控制文件,添加下面内容
    
    lzxs = lzx,user1				#定义lzxs组,组下面有两个用户lzx、user1
    [/]				#这里的 / 指的是/data/svnroot/myproject/目录
    @lzxs = rw				#@指定组,rw可读可写
    * = r				#*指所有
    
    也可以下面这样写,在项目很多的时候可以使用下面方式
    
    [myproject:/]
    user1 = rw
    
    # vim /data/svnroot/myproject/conf/passwd				#passwd是账号密码文件;在[users]添加以下内容
    lzx = lzx_!(123
    user1 = user1_^^^				#左边是用户,右边是密码
    
    # vim /data/svnroot/myproject/conf/svnserve.conf				#svnserve是服务配置文件;在[general]下面添加以下内容
    anon-access = none				#指匿名用户,无任何权限
    auth-access = write				#指被授权用户,可写权限
    password-db = passwd				#指定用户密码存放的目录是passwd(相对路径)
    authz-db = authz				#指定权限控制目录存放的目录是authz(相对路径)
    realm = /data/svnroot/myproject				#指定项目,对之生效(这里是绝对路径)
    
    • 启动服务:
    # svnserve -d -r /data/svnroot/				#-d表示以daemon形式,后台启动;-r 指定svn所在路径
    
    # ps aux |grep svnserve
    root       1330  0.0  0.0 162240   652 ?        Ss   09:26   0:00 svnserve -d -r /data/svnroot/
    
    # netstat -lntp |grep svnserve
    tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      1330/svnserve             //监听3690端口
    
    • 检出代码:
    # cd /home/
    
    # svn checkout svn://192.168.100.150/myproject --username=user1
    #		svn checkout 检出代码,后面指定服务器地址和项目坐在目录,指定用户名
    Authentication realm: <svn://192.168.100.150:3690> /data/svnroot/myproject
    Password for 'user1':				#输入之前定义的user1的密码
    
    -----------------------------------------------------------------------
    ATTENTION!  Your password for authentication realm:
    
       <svn://192.168.100.150:3690> /data/svnroot/myproject
    
    can only be stored to disk unencrypted!  You are advised to configure
    your system so that Subversion can store passwords encrypted, if
    possible.  See the documentation for details.
    
    You can avoid future appearances of this warning by setting the value
    of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
    '/root/.subversion/servers'.
    -----------------------------------------------------------------------
    Store password unencrypted (yes/no)? yes				#提示是否保存未加密的密码,输入yes
    Checked out revision 0.				#取出版本为0
    
    # ls
    admin  myproject				#出现myproject的新目录
    
    # ls -la myproject/
    total 0
    drwxr-xr-x  3 root root 18 Aug 30 09:53 .
    drwxr-xr-x. 4 root root 36 Aug 30 09:53 ..
    drwxr-xr-x  4 root root 75 Aug 30 09:53 .svn
    

    客户端操作

    • 安装svn:
    # yum install -y subversion
    
    • 检出代码:
    # cd /home/
    
    # svn checkout svn://192.168.100.150/myproject --username=user1
    #		svn checkout 检出代码,后面指定服务器地址和项目坐在目录,指定用户名
    Authentication realm: <svn://192.168.100.150:3690> /data/svnroot/myproject
    Password for 'user1':				#输入之前服务端定义的user1的密码
    
    -----------------------------------------------------------------------
    ATTENTION!  Your password for authentication realm:
    
       <svn://192.168.100.150:3690> /data/svnroot/myproject
    
    can only be stored to disk unencrypted!  You are advised to configure
    your system so that Subversion can store passwords encrypted, if
    possible.  See the documentation for details.
    
    You can avoid future appearances of this warning by setting the value
    of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
    '/root/.subversion/servers'.
    -----------------------------------------------------------------------
    Store password unencrypted (yes/no)? yes				#提示是否保存未加密的密码,输入yes
    Checked out revision 0.				#取出版本为0
    
    # ls
    admin  myproject				#出现myproject/目录
    
    # ls -la myproject/
    total 0
    drwxr-xr-x 3 root root 18 Aug 29 08:43 .
    drwxr-xr-x 3 root root 23 Aug 29 08:43 ..
    drwxr-xr-x 4 root root 75 Aug 29 08:43 .svn
    
    • 传输文件到服务端:
    # cd myproject/
    
    # cp /etc/fstab .
    
    # ls
    fstab
    
    # svn add ./fstab				#先增加add,打上标记,存到版本库里
    A         fstab
    
    # svn commit -m "add fstab"				#再传到服务端上
    Adding         fstab
    Transmitting file data .
    Committed revision 1.
    

    服务端操作

    • 再到服务端查看:
    # cd myproject/
    
    # svn up
    #		svn update 升级版本库(同步),这里不需要输入密码是因为之前checkout的时候就已经保存密码到/root/.subversion/servers
    Updating '.':
    A    fstab           
    Updated to revision 1.
    
    # ls
    fstab				#出现fstab这个文件
    

    上面整个过程,可以理解为,一台客户端代码做了修改,传到服务端,这是另外一台客户端及时升级版本库,就能够将做修改的代码同步到自己客户端上。

    • 删除文件:
    # svn delete fstab				#本地删除
    D         fstab
    
    # svn commit -m "delete fstab"				#服务端删除
    Deleting       fstab
    
    Committed revision 2.
    

    客户端操作

    • 客户端查看:
    # svn up				#升级版本库
    Updating '.':
    D    fstab
    Updated to revision 2.
    
    # ls				#已经没有fstab了
    
    • 查看变更日志:
    # svn log				#从下到上,上面为最新变化
    ------------------------------------------------------------------------
    r2 | user1 | 2018-08-30 10:09:04 -0400 (Thu, 30 Aug 2018) | 1 line
    
    delete fstab
    ------------------------------------------------------------------------
    r1 | user1 | 2018-08-30 09:58:05 -0400 (Thu, 30 Aug 2018) | 1 line
    
    add fstab
    ------------------------------------------------------------------------
    

    SVN使用(Windows)

    在Windows下,也可以使用SVN。

    Windows下有一个很好的svn软件:TortoiseSVN,官网 , 最新版本是1.10.1。


    下载安装

    在官网下载下来安装,根据自己系统位数选择。

    这里写图片描述

    如果你喜欢用命令行操作,请务必记得勾选command line client toolwill be install on local hard driver,不用命令行的可以跳过这一步。

    这里写图片描述

    然后一路Next即可安装。安装完毕后,在任意地方右键查看快捷菜单。发现TortoiseSVN即表示安装成功。

    这里写图片描述

    如果勾选了安装命令行工具,那么输入命令SVN,有如下提示也表示安装成功。

    这里写图片描述

    但是此时菜单全是英文的,如果你不习惯英文,可以去下载语言包,注意系统位数。

    这里写图片描述

    安装完语言包之后,可以右键进入setting设置。

    这里写图片描述

    选择你喜欢的语言(比如中文),然后确定,不出意外,现在的语言已经切换到中文了。

    这里写图片描述

    安装步骤到此结束。


    使用SVN

    在电脑上随便创建一个目录,然后右键点击 SVN 检出

    这里写图片描述

    然后输入linux上的IP地址和目录

    这里写图片描述

    点击确定,输入之前服务器上定义的用户名和密码

    这里写图片描述

    然后点击确定即可。打开myproject目录,发现有变化

    这里写图片描述

    新建一个123.txt文件,并随便写点内容

    这里写图片描述

    现在把123.txt传到服务端上,先add(加入到版本库)

    这里写图片描述

    然后点击SVN 提交,说明是必须要写的

    这里写图片描述

    点击确定即可

    这里写图片描述

    再回到linux机器上,可以认为是另外一台客户端,升级版本库:

    # svn up
    Updating '.':
    A    123.txt.txt
    Updated to revision 2.
    
    # ls
    123.txt.txt  fstab				#可以看到,刚刚在Windows上创建的123.txt在这可以看到
    
    # cat 123.txt.txt 
    111
    222
    333333
    

    再在linux机器上创建一个文件:

    # vim 111.sh				#随便写点内容
    niwqfdhweiuofhweiu        
    
    # svn add 111.sh
    A         111.sh
    
    # svn commit -m "add 111.sh"
    Adding         111.sh
    Transmitting file data .
    Committed revision 3.
    

    回到Windows上,点击SVN 更新

    这里写图片描述
    这里写图片描述

    点击确定即可,再查看myproject文件夹

    这里写图片描述

    可以看到多出了111.sh文件

    这就是SVN在Windows上的简单使用,和linux上没有很大差别,SVN本身用起来也比较简单。


    更多资料参考:

    TortoiseSVN新人使用指南

    展开全文
  • 1、小作坊:每个开发人员电脑上有自己的代码。硬盘坏了,欲哭无泪。安全意识强一些的公司会要求开发人员将代码隔一段时间放到一个集中的计算机上,以日期为...2、正规开发团队:使用源代码管理(SourceControl)工...

    1、小作坊:每个开发人员电脑上有自己的代码。硬盘坏了,欲哭无泪。安全意识强一些的公司会要求开发人员将代码隔一段时间放到一个集中的计算机上,以日期为文件夹进行备份。问题:如果备份不及时代码仍然会有部分丢失;过多的备份文件夹大部分内容是重复的会造成磁盘占用;无法做到多个人开发一个项目;无法对比两个版本的差异;代码改坏了,想回退也麻烦。

    2、正规开发团队:使用源代码管理(SourceControl)工具,源代码管理工具主要作用:代码版本管理、多用户并发修改管理。常用工具:VSS(Visual SourceSafe,简称SourceSafe)、TFS(Team Foundation Server)、CVS、SVN等。前两者都是微软的产品,也是.net开发最主流的两种源代码管理工具,VSS适合于几个人的小团队,VSS只能进行源代码管理;TFS适合大团队,不仅包含源代码管理,还支持Bug管理、文档管理、持续构建等。CodePlex上可以申请免费的TFS服务器空间(不用担心自己的代码丢了)。

    3、使用步骤:安装——>搭建服务器。安装的时候其实是安装了客户端和服务器了。注意区分,别点错了。

    展开全文
  • Git代码管理工具速成视频课程

    千人学习 2016-10-27 16:53:27
    掌握Git代码管理工具的使用与企业级开发。课程通俗易懂,没有广告,没有套路,纯纯的干货。
  • 之前由于对于git的使用方法不是很熟练,走了很多弯路,下面分享一个git + idea + 码云代码管理平台 实现公司和家里代码同步的管理方案。 提纲: 公司代码涉密,不方便公开,但是github私有仓库收费 git 工具下载...
  • VS2019添加git源代码管理

    万次阅读 2019-05-08 11:13:16
    VS2019添加git源代码管理 1.首先设置源代码插件 2.右击解决方案,添加到源代码管理 3.团队资源管理器-同步 4.发布git 存储库-输入git地址-发布 5.同步中的状态 6.检查github 已经上传完成 本文为本作者原创,...
  • 基于Git搭建源代码管理系统(SCM)

    千人学习 2017-04-19 23:03:59
    基于GIT搭建一个源代码管理系统SCM,课程从软件的安装配置,到终完成一个完整的SCM系统,循序渐进,全部实例演示,一学即会。
  • 在微信开发管理工具上点击代码管理 完成用户名密码设定后,点击创建项目。纯英文路径 点击记入项目后可以看到很多参考命令 把项目推送到git服务器 这里参考的是上面第二段。在此操作前,需要电脑安装好git工具,...
  • 关于git代码管理的详细操作流程

    万次阅读 2018-01-03 14:22:21
    3.使用命令行做代码管理和Review7 3.1.概述7 3.2.项目代码管理7 3.3.项目代码Review11 4.使用Eclipse的Git插件做代码管理13 4.1.概述13 4.2.项目代码管理13 4.3.项目代码Review24 1...
  • Git代码管理工具

    千次阅读 2016-11-23 14:10:19
    Git代码管理工具安装与使用说明: 一、准备工作 1) 使用Git首先你得有一个github账号,注册地址:https://github.com/,然后登录。 2) 接着,在github上点击create new, new repository, 随便输入一个项目名称...
  • Gitlab和Sourcetree结合使用实现代码管理

    万次阅读 多人点赞 2017-03-17 13:13:37
    Gitlab和Sourcetree结合使用实现代码管理 这是本人第一次发表博客,如有不足或者缺陷,请批评指正,希望能够更好的学习。最近刚来到一家老外的公司,他们使用的代码管理工具是gitlab,由于之前没使用过gitlab,所以...
  • 代码管理要责任到位

    千次阅读 2013-03-31 19:48:41
    为什么我们在考虑代码管理的时候会担心影响程序员的积极性?精英化的团队是不是能完全解决代码质量的问题? 战功文化会引入什么样的代码管理问题? 以下是我对这些问题的思考。 代码之于程序员,就像沙场之于将军...
  • 钉钉小程序源代码管理

    千次阅读 2019-07-30 16:19:34
    使用点击源代码管理显示 要先安装Git,然后选择git安装路径下bin/git.exe 执行文件 选择执行文件成功
  • VS2019取消git源代码管理

    万次阅读 2019-04-22 21:09:05
    VS2019->工具->选项->源代码管理->插件管理 详见下图
  • 小程序 代码管理 操作 详细步骤: 首先,微信开发者工具点击"代码管理"后,执行 初始化git仓库后 点击确认 就来到如下页面: 点击右上角的代码管理按钮,打开 管理后台, 选择创建项目: 这里面创建之后,会...
  • 使用 Gitee 进行代码管理

    千次阅读 2018-10-07 09:14:51
    这里推荐使用 Gitee 进行代码管理 Gitee 和 Github 最大的区别在我看来就是私有库的免费,在 Github 上建立私有库是需要收费的,而在 Gitee 上建立私有库是不需要收费的。我们很多时候不管在工作,或者个人的私活的...
  • 拿到了别人写的一个项目使用VS打开时报错:受源代码管理,向源代码管理注册此项目时出错。导致项目在VS中无法加载,解决这个错误只需要找到该项目的csproj文件并打开进行一些修改即可。 具体方法: 找到该项目的...
  • 若是还有可以毫无偏见地涉及各个编程语言,比源代码管理软件更必要的工具,我倒是很想见识一下。源代码管理软件是我们工作的必备工具,是许多开发团队的血液。那为什么我们都会对它有所误解呢?为什么都很难理解版本...
  • GitLab代码管理服务器搭建与配置

    千次阅读 2018-08-26 20:57:16
    Git是一个应用很广泛的代码管理工具,可以说,写代码不用它,我都无法想象了,哈哈~  对于企业来说,将代码托管在GitHub或BitBucket始终不太好,除非你想要将它开源,否则还是自己搭建服务器来管理比较好,而GitLab...
  • VScode的源代码管理简易使用

    千次阅读 2020-05-16 18:57:09
    VScode的源代码管理简易使用 安装git并添加到环境变量 用vscode打开一个文件夹(文件夹里是你要上传的内容),再在终端里面输入以下命令: git remote add origin (仓库地址) 这个仓库地址需要你先手动在github创建...
  • TFS源代码管理

    千次阅读 2012-07-25 14:58:36
    TFS 源代码管理    以下主要描述了: TFS源代码控制系统的基本场景如何把一个项目添加到源代码管理中如何与服务器同步如何做Check-In如何做分支与合并什么是上架与下架 我们知道工作项是...
  • 代码管理和版本管理的作业流程以及规范是怎样的?下面以文档的形式进行详细分析,希望能够给予测试人员一些帮助和指导。 本文目的 本文试图提供一套有效进行代码和版本管理风控的标准、约定和指导。本文以安全可靠的...
  • 代码管理的规范

    千次阅读 2018-03-07 10:34:09
    为了规范代码仓库主干和分支的管理,使代码分支管理及版本关系清晰,方便维护,避免由于管理混乱导致的错误代码发布等问题。代码分支管理规范因此而生。
  • VS2017使用Git进行源代码管理

    千次阅读 2018-12-04 10:54:00
    步骤一:将解决方案添加到源代码管理 步骤二:进入团队资源管理器 双击存储库项目进入Git操作页面。 步骤三:同步本地代码到远程仓库 选择同步功能 步骤四:发布代码到Git 点击之后输入你要发布的git...
  • GIT代码管理: git remote add

    万次阅读 多人点赞 2019-02-22 11:50:31
    这里主要以 如何将一份已经写好的代码提交到两个git远端 为例, 更好地理解git remote add这句; 首先要明白一句代码的意思,以github最经常的提示为例: 在这张图面里git init, git add 和git commit 都是前期...
  • 换了个账户登录后,打开VS2012 提示“未能找到与此解决方案关联的源代码管理提供程序。项目将被视为不受源代码管理。”  解决方案,点击 工具 =》选项 =》 源代码管理,选择你当前的源代码管理插件即可
  • Windows 下使用Git 客户端访问 GitLab 源代码管理库 在Windows下使用Git客户端访问GitLab源代码资源:
  • 代码管理简介

    千次阅读 2006-10-04 22:41:00
    Visual Studio 在其集成开发环境 (IDE) 中使用 Visual Studio 集成协议 (VSIP) 层支持源代码管理。VSIP 可以承载各种源代码管理包,通常以写入适当协议的插件实现。源代码管理插件的一个例子是 Visual SourceSafe ...
  • Git代码管理流程(分支、fork、tag)

    千次阅读 2018-10-13 08:22:29
    我们使用Git做代码管理时,经常会出现这种情况:项目需要稳步迭代升级(暂且叫做标品)的同时,定制化的需求接憧而至。然而定制化内容(不属于正常迭代升级的范围),我们该如何处理?下述如我想到的几种方式: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 258,722
精华内容 103,488
关键字:

代码管理