Git ——分布式版本控制系统

Git ——分布式版本控制系统

  本人git主页地址:https://github.com/lendoon/test.git

  git使用心得:初次接触git在课堂上,老师给我们提供了一个代码托管的场所,我们下载下来不会配置,不会使用,在百度上搜教程,黑暗中摸索着尝试,多次尝试,对git有了初步的认识,和基本的使用命令。

  

初次配置git:

  github网站上注册账号,+ -> new repository -> test -> finish

  在Windows上安装后 打开一个方便打开的文档文件夹(不建议出现中文路径),右键打开git bash 敲入

$ git config --global user.name "yourname"

$ git config --global user.email "yours@simple.com"

来配置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 'your@email.com' -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 git@github.com: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, ) 换行(LF, ASCII 10, )】。

  这两个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的认识总结。 

原文地址:https://www.cnblogs.com/dannybear/p/4412767.html