1.github登陆 huiminxu 137062xhm
简介
gitHub是什么?
GitHub是一个代码托管的服务提供商,以及一个巨大的开源社区。可以提供个人的或者
企业的代码托管,你也可以找到各种的开源库与开源项目的代码。
如何使用github?
进入github官网,注册github官网。
进入后,选择free,点击finish sign up.
注册好后,进入github的主页。
输入关键字即可以查看感兴趣的开源库
Explore:可以观看github上所有公开的项目
Gist:是一些代码片段的托管服务
Blog:是一些教程
Help:问题解决的方案
News Feed:是我们跟谁了某些用户后的,用户的产生的动态
Issues:代表可以新建一些任务,指派给其它人。或者你也可以创建一些评论
Pull Requests:github的流程
repository:这里是我们的个人仓库。
新建仓库:填入仓库名 public(/) Initalize this repository with a readme(/)
Add gitIgnore:C Add a licence:Apache License 2.0
点击create Repository 仓库即建好了
Unwatch:表示接受一个项目的通知。比如我们曾经做过提交的项目,github会自动watch
Star:表示持续关注某一个项目
Fork:表示把别人的项目,克隆到自己的用户名下(与pull request组成github开源项目的工作流程)
为了便于将项目提交到github上,需要进行SSH keys,设置这个,避免使得提交项目,更新的时候都输入github的账户和密码。
怎么生成SSH Keys?
1、首先你要安装git工具
下载地址:https://git-scm.com/downloads
2、右键鼠标,选中 “Git Bash here”,当然你也可以在windows的 “开始”--->“所以程序”,或者安装目录打开它
3.检查本机是否有ssh key设置
$ cd ~/.ssh 或cd .ssh
如果没有则提示: No such file or directory
如果有则进入~/.ssh路径下(ls查看当前路径文件,rm * 删除所有文件)
使用Git Bash生成新的ssh key。
$ cd ~ #保证当前路径在”~”下
$ ssh-keygen -t rsa -C "xxxxxx@yy.com" #建议填写自己真实有效的邮箱地址
( ssh keygen -t rsa C "18888106885@163.com")
输入密码:(这个密码是ssh的密码,不是登陆账号的密码)
为了不用每次都输入Ssh的密码,我们使用SSh的agent来保存它的密码
eval “$(ssh-agent -s)” (windows只需要输入ssh-agent -s)
输入ssh-add ~/.ssh/id_rsa
输入刚才的密码
需要把这个key添加到github账户里面去,这时候使用编辑器打开这个key
vim ~/.ssh/id_rsa.pub
粘贴里面的内容,添加到我们官网的Add SSH KEY的Key里面,起一个名字。
输入我们的github的密码
此时我们的SSH key就生成了。
验证一下,在命令行中输入 ssh -T git@github.com
yes
//稍等一会看提示,成功的话,就会有SSH keys注册成功的消息。
配置账户
$ git config --global user.name “your_username” #设置用户名
$ git config --global user.email “your_registered_github_Email” #设置邮箱地址(建议用注册giuhub的邮箱)
//https://www.cnblogs.com/hukai46/p/5489631.html
window下配置SSH连接GitHub、GitHub配置ssh key
此经验分两部分:
第一部分介绍:在windows下通过msysGit(Git for windows、Git Bash)配置SSH Keys连接GitHub。
第二部分介绍:在GitHub上创建仓库,在本地创建项目,然后将本地项目通过SSH提交到GitHub仓库中。
msysGit配置SSH访问GitHub
-
检查本机是否有ssh key设置
$ cd ~/.ssh 或cd .ssh
如果没有则提示: No such file or directory
如果有则进入~/.ssh路径下(ls查看当前路径文件,rm * 删除所有文件)
-
1、使用Git Bash生成新的ssh key。
$ cd ~ #保证当前路径在”~”下
$ ssh-keygen -t rsa -C "xxxxxx@yy.com" #建议填写自己真实有效的邮箱地址
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/xxxx_000/.ssh/id_rsa): #不填直接回车
Enter passphrase (empty for no passphrase): #输入密码(可以为空)
Enter same passphrase again: #再次确认密码(可以为空)
Your identification has been saved in /c/Users/xxxx_000/.ssh/id_rsa. #生成的密钥
Your public key has been saved in /c/Users/xxxx_000/.ssh/id_rsa.pub. #生成的公钥
The key fingerprint is:
e3:51:33:xx:xx:xx:xx:xxx:61:28:83:e2:81 xxxxxx@yy.com
*本机已完成ssh key设置,其存放路径为:c:/Users/xxxx_000/.ssh/下。
注释:可生成ssh key自定义名称的密钥,默认id_rsa。
$ ssh-keygen -t rsa -C "邮箱地址" -f ~/.ssh/githug_blog_keys #生成ssh key的名称为githug_blog_keys,慎用容易出现其它异常。
-
添加ssh key到GItHub
3.1 登录GitHub系统;点击右上角账号头像的“▼”→Settings→SSH kyes→Add SSH key。
-
3.2 复制id_rsa.pub的公钥内容。
1) 进入c:/Users/xxxx_000/.ssh/目录下,打开id_rsa.pub文件,全选复制公钥内容。
2) Title自定义,将公钥粘贴到GitHub中Add an SSH key的key输入框,最后“Add Key”。
-
配置账户
$ git config --global user.name “your_username” #设置用户名
$ git config --global user.email “your_registered_github_Email” #设置邮箱地址(建议用注册giuhub的邮箱)
-
测试ssh keys是否设置成功。
$ ssh -T git@github.com
The authenticity of host 'github.com (192.30.252.129)' can't be established.
RSA key fingerprint is 16:27:xx:xx:xx:xx:xx:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes #确认你是否继续联系,输入yes
Warning: Permanently added 'github.com,192.30.252.129' (RSA) to the list of known hosts.
Enter passphrase for key '/c/Users/xxxx_000/.ssh/id_rsa': #生成ssh kye是密码为空则无此项,若设置有密码则有此项且,输入生成ssh key时设置的密码即可。
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. #出现词句话,说明设置成功。
END
将本地项目通过SSH push到GitHub
-
在github上创建一个示例仓库,如:test ssh key。
-
复制test ssh key的ssh路径。
-
本地创建项目
1) 创建目录
$ mkdir test
$ cd test
2) 初始化
$ git init
3) 创建hello.md文件
$ echo "这是一次测试test ssh key" > hello.md
4) 提交到本地
若出现如上warning提示则重新提交一次即可。
$ git add . #提交当前目录下所以文件
$ git commit -m "add hello.md" #提交记录说明
5) 提交到github
$ git remote add origin ‘粘贴复制test ssh key的ssh路径’ #
$ git push -u origin master
Enter passphrase for key '/c/Users/hgpin_000/.ssh/id_rsa': #ssh key设置密码故此需要输入密码
-
刷新test ssh key仓库,查看hello.md。(完)
远程协作的主要命令
git clone获取一个远程仓库、
git fetch 获取远程仓库中的所有分支,和数据
git pull 是git fetch与git merge的组合操作
git push 把本地的数据推送到远程仓库中去
git clone支持的协议
git clone 地址
在本地仓库获取更新
使用 git fetch
看历史 git log --oneline --decorate --graph --all
可以看到现在
当前分支指向048b39e
但是最新的获取的数据 b2f59dc
需要将我们的head,master指针移到最新的commit上去
git merge origin/master 它产生了fast-forward的merge
看历史 git log --oneline --decorate --graph --all,head,master指针已经指向最新的commit上去
vim 某一个文件(增加一些数据)
git add 此文件 git commit -m "............."(添加到历史中去) 本地的数据推送到服务器上git push(如果报错,原因是别人与你的修改出现了冲突) 此时使用 git pull 打开有冲突的文件 ,把不需要的数据删掉然后 git add .git commit //这是merge的提交此时本地历史是最新的,这时候push不会有问题git push 此时服务器上就获取了最新的内容 git tag -a v0 m"tag for v0"git push默认不把tag push到远程仓库中要想把tag推送到远程仓库中git push --tags 此时tag push到远程仓库中git命令之git tag 给当前分支打标签

git init可解决这个问题
GitHub的pull与request流程1,如何在GitHub上fork项目创建分支: $ git branch mybranch切换分支: $ git checkout mybranch
创建并切换分支: $ git checkout -b mybranch 推送分支: $ git push origin mybranch 把fetch分支推送到我们的远程服务器中