GitHub 入门教程

简述:本文章针对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

好了,现在可以正常的执行四个命令进行代码的控制了,到此结束
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值