git与github的使用和其区别

来源:互联网 发布:3d软件下载. 编辑:程序博客网 时间:2024/06/06 00:07

常用命令:

 

git克隆项目(下载代码)
#git clone http://192.168.0.223/git/test
git clone git@github.com:laiweiwei/vms.git
git clone git@github.com:syking/smrt-lbs-new.git
复制粘帖方法:
git bash控制台--标题栏--右键--编辑--标记/粘帖
git更新内容
cd /d
cd play/smrt-lbs
git pull origin
提交到本地
cd /d
cd play/smrt-lbs
git add .
git commit -m "some string"
提交到服务器
git push -u origin master
删除文件(直接删除后需要重新用命令删除)
$ git rm  app/views/Application/index.html
rm 'app/views/Application/index.html'
查看文件状态
git status

------------------------------------------------------------------

假设你的资料库默认分支为 master,当你有一个新的项目或者想法时
创建一个分支,然后在分支上开发,最后再合并到 master 上
创建新分支并命名,此处我们创建名为 new_sub 的分支 
git branch new_sub
移到新分支上
git checkout new_sub
开始你的工作并保存结果
添加所改动的文件以便提交
git add .
提交改动
git commit -m "made some changes"
回到 master 主分支
git checkout master
合并到主分支
git merge new_sub
git branch 可显示所有的分支
删除分支

git branch -d new_sub 

========================================== 

Git和GitHub入门
1. Git和GitHub简单文字说明
Git是一个开源的分布式版本控制系统,用以有效、高速的处理各种规模的项目版本管理, 它是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件,后来得到广泛的使用。
 
GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或GoogleCode这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
 
2. 安装Git on Windows
下载 msysgit(http://code.google.com/p/msysgit/), 安装时保留默认选项, 不要使用putty作为客户端,GitHub只支持openssh. 安装完成后需要生成SSH Key.
windows可视化操作界面客户端(和svn很类似)  http://code.google.com/p/tortoisegit/
3. 配置
3.1 检查是否已经存在KEY
 
$ cd ~/.ssh
$ ls
config  id_rsa  id_rsa.pub  known_hosts
$ mkdir key_backup
$ cp id_rsa* key_backup
$ rm id_rsa*
 
如果已经存在KEY(id_rsa, id_rsa.pub),把他们拷贝到key_backup目录备份, 因为SSH默认会使用”.ssh”目录下的KEY
 注:windows7在C:\Users\ZDZ\.ssh目录下可以找到

 

3.2 生成SSH KEY
 
代码
$ ssh-keygen -t rsa -C "your_mail_addr@gmail.com"
Enter file in which to save the key (/c/Users/Tekkub/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Tekkub/.ssh/id_rsa.
Your public key has been saved in /c/Users/Tekkub/.ssh/id_rsa.pub.
The key fingerprint is:
e8:ae:60:8f:38:c2:98:1d:6d:84:60:8c:9e:dd:47:81 your_mail_addr@gmail.com
 
在这里会要求输入key 目录和 密码,可根据自己的情况输入

注:这里生成的key可以在多个网站上使用(例如github和bitbucket),只要本地的和对应网站的key保持一致就可以了 

 
3.3 将Public Key 添加到GitHub
打开你的GitHub->SSH Public Key->点击“Add another public key”,  将你的public key(id_rsa.pub)的内容拷贝到GitHub中
 

bitbucket添加方式:帐号下来-->Account-->SSH keys 里面的 Add a new key ,  将你的public key(id_rsa.pub)的内容拷贝到SSH key文本框

 

3.4 测试
$ ssh git@github.com
ERROR: Hi tekkub! You've successfully authenticated, but GitHub does not provide 
shell access
Connection to github.com closed.
成功!!
 
4. 下载你的项目
$git clone git://github.com/schacon/simplegit.git
 
5. 提交变更
5.1 配置
  git config --global user.name "Your Name"
  git config --global user.email your_email@gmail.com
 
5.2 创建Repository
 
1 mkdir clrs
2 cd clrs
3 git init
4 touch README
5 git add README
6 git commit -m 'first commit'
7 git remote add origin git@github.com:your_name/clrs.git
8 git push origin master
 
5.3 提交已经存在的Repository
1 cd existing_git_repo
2 git remote add origin git@github.com:your_name/clrs.git
3 git push origin master
 -----------------------------------------------------------------------

用可视化界面生成key需要下载 puttygen.exe http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

生成.ppk的key 使用说明 http://code.google.com/p/tortoisegit/wiki/UsingPuTTY 

 公钥认证需要一对密钥:公钥-私钥,所以在你的的电脑上要有:private.ppk(私钥)文件和Public文件(公钥),用私钥加密公钥。

握手原理:当登录服务器时,客户端软件将向服务器发出公钥认证请求,服务器先检查你的公匙是否合法,然后就用公钥加密一个随机数发送给客户端软件。客户端软件用私钥将这个加密的随机数解密后发送给服务器。因为公钥和私钥是成对使用的,公钥加密的数据只能用私钥解密,所以服务器就可以确认公钥认证的合法性了。

三 :操作步骤
1.运行puttykey.exe

点击[generator]按钮,然后点击【Save public key】保存public文件,再点击【 save private key 】保存私钥,。

技巧说明:在生成过程中一定要用鼠标在界面上移动,这样就会很快的生成key值,将生成的key值粘贴到下面2中key输入框中.

将以上的Public和Private.ppk保存在指定目录下Key


2. 点击Account Setting的左边菜单“SSHKeys”.Title填写:ProjectorKey。Key的填写:打开puttykey.exe运行Generate产生一个Key.将其粘贴到githhub中的




2.  【Add Key】以后,用github账户登录github,然后获source,获取时需要载入Private.ppk文件,指定到存放它的目录,然后选择Private.ppk文件,输入用户即可。


《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》


git是Linux创始人Linus 发明的一种版本控制系统,而GitHub是基于git软件的一个网站。git@osc也是如此,另外国内还有gitcafe,CODE@csdn等,国外还有一个gitLab,其核心是用的git,只不过对外的接口也就是web网页是自己做的。
这里面做的最好的当然是GitHub了,在git的基础上,添加了很多增强用户体验的东西,markdown风格的文档,fork,pull request,issue,wiki。当然了,这些东西也很容易被国内网站给copy了。不过国内的几家我试过用户体验都很差。而且你在GitHub上能找到很多知名的国际项目。很多大公司和牛人也是活跃在GitHub的。

一开始接触Git或是github的程序员可能搞不太清楚这些名词到底指代的是什么,所以在这里稍微说明一下。git和github是两个完全不同的概念。

git是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误的更改,可以进行还原,具体有关git的简介,我觉得有一个教程写的非常的详细,比较适合新手的学习,这是链接:Git教程

关于github,这是一个网站,就是每个程序员自己写的程序,可以在github上建立一个网上的仓库,你每次提交的时候可以把代码提交到网上,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和学习。 

github是一个非常适合程序员交流的网站,很多国际上的技术大牛都在github上有自己的开源代码,其他人只要申请个账号就可以随意的看到这些大牛写的程序。同时国内的很多互联网公司如百度,阿里等,也在github上公布有开源的代码,感兴趣的程序员也可以自己查找着看一些。想看国内大公司的代码,可以看连接: 点击打开链接

总结来说,git可以认为是一个软件,能够帮你更好的写程序,github则是一个网站,这个网站可以帮助程序员之间互相交流和学习。


0 0
原创粉丝点击