git 的学习

来源:互联网 发布:淘宝儿童玩具大全 编辑:程序博客网 时间:2024/05/20 01:34
首先要说明 git 和 github 的关系(来自知乎的一位网友):
git是一个分布式的版本控制系统,最初应用在Linux上的现在Windows下也可以用而且Windows下有图形用户
界面操作更简单更容易上手。github是一个基于git的项目托管平台,它提供了web界面,你可以在上面创建
资源仓库来存放你的项目。在本地或服务器创建一个资源仓库通过shell命令或图形用户界面可以和远端的
github进行项目同步更新,实现对项目的管理。


我自己来形容一下,git说白了就相当于一个网盘,而github就是管理这个网盘的网站,你也可以下载这个网

盘的客户端到电脑,既可以在网站上管理这个网盘,也可以在本地电脑上管理,还可以让本地和远程网站保

持同步,而这个网盘的作用就是版本控制,你要学习的就是如何控制。在客户端每个项目都对应一个目录(
文件夹)。


作为一个非专业git开发或维护人员。
在安装git之前,先要想好,你要安装哪个版本.
你可能会想安装最新版本,最新版本当然要去https://github.com/git/git下载源码,然后编译安装。
但这样会出问题,编译安装之后,运行命令行很容易报错,问题就出现在编译、链接的时候可能少了一些操
作,我也不知道到底少了什么,我并不是专业开发人员,当然高水平的玩家随便玩。


所以在这里,建议普通用户用git的稳定版,我用CentOS,直接 yum install git,完成安装,就可以用啦。
参考网站:http://git-scm.com/download/
当你查看git版本的时候,建议不要纠结它的版本太低(我曾经纠结过),至少可以顺畅地使用它。


下面介绍在 CentOS 7.1 上的使用方法(新手先不要管为什么要做这些事情,跟着操作一遍):

1、去github官网注册一个账号(https://github.com),然后看看官网的使用步骤,比如创建一个项目和在项
目中添加一个文件并修改它。


2、在Linux安装后,查看git版本
[root@Server ~]# git --version
git version 1.8.3.1


3、设置git的用户名和email
[root@Server ~]# git config --global user.name "你的用户名"
[root@Server ~]# git config --global user.email "你的邮箱" 
此时,Home目录下会新建一个.gitconfig文件,cat一下他看看。


4、添加 SSH Key 到 github 中,目的是让本机与github能同步。
    a、创建 SSH Key
    [root@Server ~]# ssh-keygen -t rsa -C "你的邮箱"
    系统会提示key的保存位置(一般是~/.ssh目录)和指定口令,保持默认,连续三次回车即可。
    b、复制刚才创建的 SSH Key(注意cat输出的内容要全部复制)
    [root@Server ~]# cat ~/.ssh/id_rsa.pub
    c、把复制的内容添加到github
    登录github,右上角有个图标,展开三角形,选择Settings-->SSH keys-->Add SSH key,粘贴进去后点 
    击提交完成
    d、测试能不能连接到github
    [root@Server ~]# ssh -T git@github.com
    Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.


5、将github的内容同步到本地
[root@Server ~]#git clone https://github.com/你的用户名/你的项目名称.git
此时会在当前目录下创建一个目录,目录名是你的项目名称,目录里面就能看到项目文件


6、修改一个文件,然后提交同步到github
vim README.md
git status
git add README.md
git status
git commit -m "Edit by WorkUbuntu 1204"
git status
git remote rm origin
git remote add origin https://github.com/你的用户名/你的项目名称.git
git push -u origin master.
提交完成后,刷新下github,就能看到你的更新了。


建议学习: http://git.oschina.net/progit/
0 0