您的位置:首页 > 编程语言

GitHub 入门教程

2016-09-28 00:00 225 查看
简述:本文章针对git入门,没有涉及太多的命令,实现了基础的github注册,创建仓库,创建组织,建立远程,多个ssh链接,将code推向不同的仓库等

注册github账号

git官网地址:https://github.com,打开官网,注册一个账户,在右上角点击加号,可以手动创建一个仓库或者组织

创建仓库

点击右上角的加号,可以实现创建一个仓库或者组织,创建一个仓库后可以得到一个git地址,点击右上角的Setting设置,加入开发人员的sshkey,实现团队开发

创建组织

生成组织,可以在member中搜索人员,但是此处的人员加入不代表代码人员,只是一个介绍

生成ssh秘钥

单个ssh秘钥

设置Git的user name和email:
$ git config --global user.name "xuhaiyan"
$ git config --global user.email "haiyan.xu.vip@gmail.com"

生成SSH密钥过程:
1.查看是否已经有了ssh密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
2.生存密钥:
$ ssh-keygen -t rsa -C “haiyan.xu.vip@gmail.com”##自己的邮箱地址
按3个回车,密码为空。 ##第一个回车代表名字为空,采用默认的id_rsa,后两个为密码空

Your identification has been saved in /home/tekkub/.ssh/id_rsa.
Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.
The key fingerprint is:
………………

最后得到了两个文件:id_rsa和id_rsa.pub

最后将id_rsa.pub中的公钥添加到github仓库中

多个ssh秘钥链接仓库

一台电脑上有一个ssh key,在github上提交代码,由于其他原因

你可能会在一台电脑上提交到不同的github上,怎么办呢...

假设你电脑上一个ssh key都没有,如果有默认的一个了,请直接生成第二个.

同样适用上面的命令:$ ssh-keygen -t rsa -C “haiyan.xu.vip@gmail.com”

这次不要一路回车了,给这个文件起一个名字 不然默认的话就覆盖了之前生成的第一个

在输入上面的命令后,输入一个自己的sshkey的名字,比如只输入一个s即可,一路回车

那么在你的c:/user/user/.ssh目录下可以看到这样的目录结果



这里我们在该目录下写一个config的文件,其中的内容是
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
如果要使用第二个ssh,我们可以将最后的is_rsa更改为s即可

下面使用命令
ssh -T git@github.com
进行测试,可以收到欢迎的语句,并且说明了该sshkey连接了哪一个仓库地址

此处的实现方式其实很简单,生成第二个秘钥到时候,换一个名字,在config配置文件中做一个指定配置即可;

实现远程仓库

我们随便找一个目录,写入一个文件夹,在该文件夹下,我们执行命令

touch README.md
git init                                          ##创建并初始化本地仓库
git add README.md
git commit -m "commit comment"
git remote add origin git@github.com/youraddress  ##将远程仓库与本地仓库关联
git push -u origin master
##由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令


克隆

当吧你的sshkey公钥存入了github中,就可以开始代码克隆和提交了

$git clone git@github.com:youraddress

当将代码克隆下来,可以进行修改,add/commit/pull/push等操作了

但是我这边是远程仓库,碰到了这样的一个问题,每次pull的时候呢都需要在pull后面加上 --rebase的参数,解决方法如下

1.提示错误:



2.解决方法:



原来发现在我们的仓库中,.git文件下,有个config文件,打开看到是这样的
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = git@github.com:zbwd/zb.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
rebase = true
我们将最后一行 rebase = true 改为:
remote = origin
merge = refs/heads/master


好了,现在可以正常的执行四个命令进行代码的控制了,到此结束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: