Git ——分布式版本控制系统
本人git主页地址:https://github.com/lendoon/test.gitgit使用心得:初次接触git在课堂上,老师给我们提供了一个代码托管的场所,我们下载下来不会配置,不会使用,在百度上搜教程,黑暗中摸索着尝试,多次尝试,对git有了初步的认识,和基本的使用命令。
初次配置git:
github网站上注册账号,+ -> new repository -> test -> finish
在Windows上安装后 打开一个方便打开的文档文件夹(不建议出现中文路径),右键打开git bash 敲入
$ git config --global user.name "yourname" $ git config --global user.email "[email protected]"
来配置git
$ mkdir test $ cd test/ $ echo test >> README.md //创建README.md文件,文件内容为test git init //初始化库 git add README.md //添加到git git commit -m "first commit" //提交修改 git remote add origin https://github.com/lendoon/test.git git push -u origin master //推送到github
执行提示输入github用户名和密码,提示成功之后,去github可以看到第一次推送的文件,最后一步由于网络的原因,经常提示Time out 超时,或Empty reply from server 等。多试几遍总会成功的,毕竟服务器不在中国。当然,办法总是有的,使用代理就是个不错的选择。红杏是一个非常好的代理,每月10元,google等方便打开。这里不是打广告!当然,最让开发者兴奋地是,红杏免费为开发程序提供了代理,在git bush里敲如下命令配置即可:
$ git config --global http.proxy http://hx.gy:1080
之后用git命令把自己的代码放到test仓库,推送上去就大功告成了。以上是本人的git操作, 也有他人使用ssh密钥登陆github,bash的命令都是linux的命令,Git是为Linux而生的。(废话,Git的最初创建人就是Linux的创始人啊)。在Linux环境下,要使用Git,与任何Linux中的命令行工具没有什么区别。甚至在击键数上还有明显的优势,ssh公钥登陆是linux非常实用强大的功能,本人未做尝试,安装linux版本的未尝不是一个办法,不过要有linux基础。
Git是分布式版本管理系统,以文件系统管理为原理的新的版本管理系统。以pull、push为主的数据管理方式,主张项目主持人的管理模式,不认同项目成员每天及时提交代码至中央仓库的做法,一切提交到中央仓库的源代码都通过项目主持人确认,并经过仔细删除过程记录后,上传至中央仓库。应用不当可能造成很多问题,如:不同版本里出现同一的文件名及内容,保存都是唯一的一个文件,可能会造成问题追踪的困扰。
使用http的origin连接,每次推送都要用github用户名和密码登录,用ssh公钥就能省去输密码的麻烦。这里ssh公钥是linux一个非常强大的功能,配置如下:
$ cd ~ //进入家目录
$ ssh-keygen -C '[email protected]' -t rsa
填入你的邮箱,一路回车生成公钥id_rsa.pub(id_rsa是你的私钥,不可交给任何人)在你的git家目录,即C:\Users\林无知\.ssh 系统盘users文件夹下当前用户命名的文件夹下.ssh 这是个隐藏文件夹,需设置文件夹属性才能看到。右键通过记事本公钥id_rsa.pub文件,复制全部字符,网页登录github,进入该项目,点击右上角的齿轮Setting -> SSH keys ->ADD SSH KEY,将公钥粘贴到输入框Add进去。 再回git bush修改origin
$ git remote rm origin $ git remote add origin [email protected]:username/gitdemo.git
'username/gitdemo.git'为你的'guthub用户名/项目名.git'
配置好,以后就可以直接提交了。
使用git add 命令时 系统出现警告:warning: LF will be replaced by CRLF
原因分析:
CRLF -- Carriage-Return Line-Feed 回车换行【回车(CR, ASCII 13, \r) 换行(LF, ASCII 10, \n)】。
这两个ACSII字符不会在屏幕有任何输出,但在Windows中广泛使用来标识一行的结束,换行符为 CRLF。而在Linux/UNIX系统中只有换行符,换行符为:LF。
使用git来生成一个rails工程后,文件中的换行符为LF, 当执行git add 命令时,系统提示:LF 将被转换成 CRLF
解决办法:
$ git config --global core.autocrlf false
禁用自动转换配置
Linux的粘贴是Shift+Insert/Ins键,粘贴Windows下复制的代码命令。还是建议多动手敲敲键盘。
以上是我对git的认识总结。