发表于: 2018-05-30 22:46:22

1 544


今天完成的事情


进行任务2的环境的搭建


下载git通过命令 git init指令在d盘建立可以管理的本地仓库


使用命令 git add 把文件放到暂存区


git commit –m把文件提交到本地仓库,登入github创建SSH Key在创建一个仓库,然后和本地的git仓库绑定

使用 git remote add origin 加github地址绑定,使用 git push –u origin master指令把本地文件推送到github远程库,

由于远程库是空的,第一次推送要加上-u 后续直接用git push origin master就可以。


登入github远程库就可以看到上传的文件


在新建一个仓库,用命令git clone就可以克隆一个本地库

至于这个克隆库有什么卵用,还不了解。



大概的了解了一下Xshell,SecureCRT,PuTTY,SVN


Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。除此之外,其还有丰富的外观配色方案以及样式选择。


SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括WindowsUNIX和VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100,VT102,VT220和ANSI竞争.能从命令行中运行或从浏览器中运行.其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA鉴别。


PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植至Mac OS X上。除了官方版本外,有许多第三方的团体或个人将PuTTY移植到其他平台上,像是以Symbian为基础的移动电话。PuTTY为一开放源代码软件,主要由Simon Tatham维护,使用MIT licence授权。随着Linux在服务器端应用的普及,Linux系统管理越来越依赖于远程。在各种远程登录工具中,Putty是出色的工具之一。Putty是一个免费的、Windows x86平台下的Telnet、SSH和rlogin客户端,但是功能丝毫不逊色于商业的Telnet类工具。


SVN是Subversion的简称,是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。


SVN 的一些概念

repository(源代码库):源代码统一存放的地方

Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份

Commit(提交):当你已经修改了代码,你就需要Commit到repository

Update (更新):当你已经Checkout了一份源代码,Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更

日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了) 。

如果两个程序员同时修改了同一个文件呢, SVN可以合并这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行,SVN会提示文件Confict, 冲突,需要手动确认。


SVN 的主要功能

(1)目录版本控制

CVS 只能跟踪单个文件的历史, 不过 Subversion 实作了一个 "虚拟" 的版本控管文件系统,     能够依时间跟踪整个目录的变动。 目录和文件都能进行版本控制。

(2)真实的版本历史

自从CVS限制了文件的版本记录,CVS并不支持那些可能发生在文件上,但会影响所在目录内容的操作,如同复制和重命名。除此之外,在CVS里你不能用拥有同样名字但是没有继承老版本历史或者根本没有关系的文件替换一个已经纳入系统的文件。在Subversion中,你可以增加(add)、删除(delete)、复制(copy)和重命名(rename),无论是文件还是目录。所有的新加的文件都从一个新的、干净的版本开始。

(3)自动提交

一个提交动作,不是全部更新到了档案库中,就是完全不更新。这允许开发人员以逻辑区间建立并提交变动,以防止当部分提交成功时出现的问题。

(4)纳入版本控管的元数据

 每一个文件与目录都附有一組属性关键字并和属性值相关联。你可以创建, 并儲存任何你想要的Key/Value对。属性是随着时间来作版本控管的,就像文件內容一样。

(5)选择不同的网络层

Subversion 有抽象的档案库存取概念, 可以让人很容易地实作新的网络机制。 Subversion,可以作为一个扩展模块嵌入到Apache HTT 服务器中。这个为Subversion提供了非常先进的稳定性和协同工作能力,除此之外还提供了许多重要功能: 举例来说, 有身份认证授权,在线压缩, 以及文件库浏览等等。还有一个轻量级的独立Subversion服务器, 使用的是自定义的通信协议, 可以很容易地通过 ssh 以 tunnel 方式使用。

(6)一致的数据处理方式

Subversion 使用二进制差异算法来异表示文件的差异, 它对文字(人类可理解的)与二进制文件(人类无法理解的)两类的文件都一视同仁。 这两类的文件都同样地以压缩形式储存在档案库中, 而且文件差异是以两个方向在网络上传输的。

(7)有效的分支(branch)与标签(tag)

在分支与标签上的消耗并不必一定要与项目大小成正比。 Subversion 建立分支与标签的方法, 就只是复制该项目,使用的方法就类似于硬连接(hard-link)。 所以这些操作只会花费很小, 而且是固定的时间。

(8)Hackability

Subversion没有任何的历史包袱; 它主要是一群共用的 C 程序库, 具有定义完善的API。这使得 Subversion 便于维护,并且可被其它应用程序与程序语言使用。





明天的计划

任务三





遇到的问题

刚建立github远程库后还可以上传,然后建立了一个克隆到本地之后就上传不了了,输入git push origin master 一直被拒绝,然后把本地的仓库和github的仓库全部删光,再从新建立就可以了,不知道为什么。。。。。。。。。。。。。


Xshell,SecureCRT,PuTTY,SVN 看不懂,只看了一下是什么东西有什么用,感觉svn和github有点相似,不确定。。。。。




收获

知道怎么建立github仓库,上传代码可以访问


git的一些常用指令

pwd:      显示当前目录的路径。

git init      把当前的目录变成可以管理的git仓库,生成隐藏.git文件。

git add XX      把xx文件添加到暂存区去。

git commit –m “XX”  提交文件 –m 后面的是注释。

git status       查看仓库状态

git diff  XX     查看XX文件修改了那些内容

git log        查看历史记录

git reset  –hard HEAD^ 或者 git reset  –hard HEAD~ 回退到上一个版本

git reflog     查看历史记录的版本号id 

git checkout — XX  把XX文件在工作区的修改全部撤销。

git rm XX      删除XX文件

git remote add origin 关联一个远程库

git push –u origin master 把当前master分支推送到远程库(第一次要用-u 以后不需要)

git clone 从远程库中克隆




返回列表 返回列表
评论

    分享到