如何支持如何注册github账号号登录

史上最全github使用方法:github入门到精通
我的图书馆
史上最全github使用方法:github入门到精通
【初识Github】首先让我们大家一起喊一句“Hello Github”。YEAH!就是这样。原文&Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。同样,客户端的源码也托管在github上。GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。在GitHub进行分支就像在Myspace(或Facebook…)进行交友一样,在社会关系图的节点中不断的连线。GitHub 使用 git 分布式版本控制系统,而 git 最初是 Linus Torvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。GitHub For WindowsGitHub for Windows 是一个 Metro 风格应用程序,集成了自包含版本的 Git,bash 命令行 shell,PowerShell 的 posh-git 扩展。GitHub 为 Windows 用户提供了一个基本的图形前端去处理大部分常用版本控制任务,可以创建版本库,向本地版本库递交补丁,在本地和远程版本库之间同步。微软也通过CodePlex向开发者提供 git 版本控制系统,而 GitHub 创造了一个更具有吸引力的 Windows 版本。GitHub上已自动配置的Mac笔记本电脑,一个工具,可以转换设置Linux或Windows机器。BOXEN是GitHub的自动化工具,设置和配置的Mac笔记本电脑软件开发[3]或其他类型的工作,正在使用他们的开发人员,律师,设计师,付货人,等。我们的想法是准备系统以自动方式和作为无差错尽可能用最少的干预工作。根据GitHub上,与一个新的开发机器上,他的Mac系统成立,并准备在30分钟内提交代码。BOXEN的基础上收集了大量的几十个木偶模块,使设置的各种软件,如卡桑德拉,MongoDB中,Java软件中,Python和Ruby开发中,节点,JS,nginx的,Skype公司,甚至MINECRAFT。虽然机器上配备了一个预配置,每个用户都可以调整它的配置应有的作用。【如何使用】1.注册账户以及创建仓库要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。2.安装客户端msysgitgithub是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用msysgit,这个只是提供了git的核心功能,而且是基于命令行的。如果想要图形界面的话只要在msysgit的基础上安装TortoiseGit即可。装完msysgit后右键鼠标会多出一些选项来,在本地仓库里右键选择Git Init Here,会多出来一个.git文件夹,这就表示本地git创建成功。右键Git Bash进入git命令行,为了把本地的仓库传到github,还需要配置ssh key。3.配置Git首先在本地创建ssh key;$ ssh-keygen -t rsa -C "your_"后面的your_改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是否成功,在git bash下输入:$ ssh -T 如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。$ git config --global user.name "your name"$ git config --global user.email "your_"进入要上传的仓库,右键git bash,添加远程地址:1$ git remote add origin &a href=""mailto:"" target=""_blank""&&/a&:yourName/yourRepo.git
后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。4.提交、上传接下来在本地仓库里添加一些文件,比如README,$ git add README$ git commit -m "first commit"上传到github:$ git push origin mastergit push命令会将本地仓库推送到远程服务器。git pull命令则相反。修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件,也可以用git add -i来智能添加文件。之后git commit提交本次修改,git push上传到github。5.gitignore文件.gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。一般我们写完代码后会执行编译、调试等操作,这期间会产生很多中间文件和可执行文件,这些都不是代码文件,是不需要git来管理的。我们在git status的时候会看到很多这样的文件,如果用git add -A来添加的话会把他们都加进去,而手动一个个添加的话也太麻烦了。这时我们就需要.gitignore了。比如一般c#的项目我的.gitignore是这样写的:bin*.suoobjbin和obj是编译目录,里面都不是源代码,忽略;suo文件是vs2010的配置文件,不需要。这样你在git status的时候就只会看到源代码文件了,就可以放心的git add -A了。6.tag我们可以创建一个tag来指向软件开发中的一个关键时期,比如版本号更新的时候可以建一个“v2.0”、“v3.1”之类的标签,这样在以后回顾的时候会比较方便。tag的使用很简单,主要操作有:查看tag、创建tag、验证tag以及共享tag,这些下面的博客中有详细讲解。【Github的相关使用文章】Git介绍,安装,Git+Git flow使用:Git 指令集:在mac上安装git-flow过程:git fetch 的简单用法:更新远程代码到本地仓库:git 如何让单个文件回退到指定的版本:如何使用Github上的开源项目:Window(8)下安装 MSysGit 、gitflow 、GitHub:git 打tag:基于Github参与eoe的开源项目指南:Git stash 使用方法:Git tag的使用:大白话讲解如何给github上项目贡献代码:最后再推荐几篇社区里介绍知道github使用的帖子:githup的使用Eclipse上GIT插件EGIT使用手册ubuntu下git服务器的搭建git , vim , ls 全局配置以上希望对大家学习起到积极的作用,一个好的程序猿势必要学会github的使用。如果本文大家觉得还不错,就告诉你身边的朋友吧,如果觉得看得过去那么就分享一下吧,如果觉得有待修改,那么请指出不足并且给打赏几个e币。最后感谢百度的无私支持,以及某个人的博客(说真的真的忘了他的地址是啥了),Hello Github。
TA的最新馆藏[转]&Coding.net 支持 Github 账号登陆! - CNode技术社区
Coding 是一个面向开发者的云端开发平台,目前提供代码托管,运行空间,质量控制,项目管理等功能。
现已支持 Github 账号绑定登陆!
你可以从以下 Github 图标进入进行账户绑定。
同意授权申请。
输入密码,进行绑定。( Github 不对用户 Email 进行验证,绑定后需要输入验证密码)
如你尚未激活 Coding 账户,请选择重发激活邮件进行账户激活,再进行绑定。
Coding 团队致力于为广大开发者提供一个极致体验的云端开发平台,我们注重平台任何细节上的易用性和用户高品质的体验,欢迎你随时给我们任何建议和反馈!
Github 不对用户 Email 进行验证…
github 是会验证的
coding.net用的那套页面风格好像和ApiCloud的一样
是用了什么相同的框架吗?
是 Semantic-UI 哦
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的如何切换多个GitHub账号 - 简书
如何切换多个GitHub账号
很惭愧做了几年开发,刚刚使用Git。入职的时候使用公司邮箱注册的GitHub账号,后来使用私人邮箱又注册一个。为了解决同一系统上多个账号切换的问题,查了一些资料,在此总结一下。
注:当前操作系统是Windows10,shell工具是PowerShell, Git版本为Git for Windows-2.9.2-64bit。
2 本地配置
遇到的第一个问题是Author。每次查看提交记录时,总会看到Author的用户名和邮箱。如果使用两个不同的账户当然希望看到不同的Author提交。Git把信息都存储在本地的config文件中,包括后面要说到的本地凭证存储也和config有关,所以在此有必要说一下。
Git共有三个级别的config文件,分别是system、global和local。在当前环境中,分别对应%GitPath%\mingw64\etc\gitconfig文件、$home\.gitconfig文件和%RepoPath%\.git\config文件。其中%GitPath%为Git的安装路径,%RepoPath%为某仓库的本地路径。所以system配置整个系统只有一个,global配置每个账户只有一个,而local配置和git仓库的数目相同,并且只有在仓库目录才能看到该配置。
2.1 查看配置
# list git all config about user.
tips: D:\test\TestUser is
a dictionary of Repo
PS D:\test\TestUser& git config --list | sls user
user.email=
user.name=SystemUser
user.name=GlobalUser
user.email=
user.name=LocalUser
user.email=
以上可见,筛选出的user.name和user.email就是前面提到的Author信息。此时,上面提到的三个级别都配置了user信息。当git commit时,Author信息依次读取local、global和system的配置,如果找到则不再继续读取。其他配置的读取顺序也是如此。
2.2 更改配置
更改local级别的user.name(本地Repo中的config):
# set user.name in local config and query.
tips: D:\test\TestUser is
a dictionary of Repo
PS D:\test\TestUser& git config --local user.name NinputerWonder
PS D:\test\TestUser& git config --local user.name
NinputerWonder
依此类推,可以更改global和system的配置。其他配置的更改和读取操作类似。接下来会用到上面类似的操作更改本地凭证存储。
3 使用https协议
GitHub支持https和ssh协议连接。当执行类似命令git clone /NinputerWonder/xxx.git后,在此仓库中的上传下载均采用https协议;类似git clone :NinputerWonder/xxx.git则使用ssh协议。首先讨论使用https协议。
当提交代码后,向服务器push的时候,这时git会提示输入用户名和密码。输入正确之后,git会有多种策略存储本地凭证,以免下次再输入账户信息。
切换到`%GitPath%\mingw64\libexec\git-core路径下,可以查看本地存储工具:
PS C:\Program Files\Git\mingw64\libexec\git-core& (ls).Name | sls credential
git-credential-manager.exe
git-credential-store.exe
git-credential-wincred.exe
git-credential.exe
以上列出当前支持的三种存储辅助工具,即mananger、wincred和store。Git可以指定辅助工具(通过配置credential.helper),用来存储本地凭证。
3.1 manager
若安装Git时安装了GitGUI,自动会在system级别中设置credential.helper为manager。并且不配置所处级别(system、global或者local)如何,一旦设置了manager,都优先使用该方式。
查看不同级别的credential.helper
PS D:\test\TestUser& git config --global credential.helper
PS D:\test\TestUser& git config --local credential.helper
若本地没有存储凭证,第一次push的时候,会弹出窗口,要求输入用户名密码(图1)。
图 1 manager工具提示输入账户信息
输入并验证成功后并将其存储至Windows的凭据管理器中(图2)。
图 2 Windows凭据管理器中记录的信息(通过manager工具保存)
当再次在本机push的时候,会直接读取凭据管理器的中账户信息。经个人测试,除非手动点击“编辑”或者“删除”,否则无法更改账户。
3.2 wincred
设置credential.helper,如wincred
# query current credential.helper config
PS D:\test\TestUser& git config --list | sls credential.helper
credential.helper=manager
credential.helper=store
# remove credential setting in local config
PS D:\test\TestUser& git config --local --remove-section credential
# change credential.helper to wincred in global config
PS D:\test\TestUser& git config --global credential.helper wincred
query current credential.helper config. only wincred left
PS D:\test\TestUser& git config --list | sls credential.helper
credential.helper=wincred
上面删除了local中的credential.helper配置并且设置了global中的改配置,所以会使用后者。如果本地没有账户信息,当push时会提示输入。如果输入正确也会记录在Windows的凭据管理器中(图3)
PS D:\test\TestUser& git push
Username for '': NinputerWonder
Password for '':
Everything up-to-date
图 3 Windows凭据管理器中记录的信息(通过wincred工具保存)
除此之外,该工具还可以使用命令行管理本地存储。查看本地记录账号(protocol和host是输入,注意空行,其余为输出)
PS D:\test\TestUser& git credential-wincred get
protocol=https
username=NinputerWonder
password=123456
删除本地账号(以下全部为输入,注意空行)
PS D:\test\TestUser& git credential-wincred erase
protocol=https
username=NinputerWonder
password=123456
# after erase, the account was removed
PS D:\test\TestUser& git credential-wincred get
protocol=https
同时Windows的凭据管理器中该账户信息也被删除。
添加账号(以下全部为输入,注意空行)
PS D:\test\TestUser& git credential-wincred store
protocol=https
username=NinputerWonder
password=123456
同时,该账号信息出现在Windows的凭据管理器中。
但是,经个人测试, 如果同一个host使用wincred存储多份凭证,只会有一个账户生效。
将当前local级别的credential.helper设置成store(过程和前面类似),此时的存储方式变成了store。如果本地没有存储账号信息,当push时输入正确信息,将此保存至home目录下的.git-credentials文件,并且以明文存储,内容如下:
https://NinputerWonder:
官方文档指出可以使用类似如下参数的形式指定存储上述信息文件。
git config --global credential.helper store --file=~/cred.txt
但经个人测试并未生效,不过可以直接修改config文件来达到目的,如:
[credential]
helper = store --file=D:/credential/cred1.txt
再次push,便会将账户信息存至D:/credential/cred1.txt中。若想清除账户,删除该文件即可。
综上,因为store使用明文保存账户信息,存在安全隐患。使用manager和wincred方式比较安全,但不能满足多账户(GitHub账户)切换(除非删除重录)。使用store方式时,配置每个repository的local级别credential.helper,并且通过--file配置不同的文件,这样每个repository可以读取独立的账户信息,可满足需求。
4 使用ssh协议
当使用ssh协议时,不需要像上面存储账户信息,但是需要在客户端和服务器上分别存储成对的private key和public key,校验成功,方可与服务器通信(包括git clone命令)。
4.1 生成Key
使用如下命令生成key
PS D:\ssh& ssh-keygen -t rsa -b 4096 -C ""
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/kingw/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/kingw/.ssh/id_rsa.
Your public key has been saved in /c/Users/kingw/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:lmAq9yVuN2u6r4zffwfadSsxn78nwJghg/StRGSRk0
The key's randomart image is:
+---[RSA 4096]----+
| ... = . .
|o o = + S
+----[SHA256]-----+
如果不显式指定目录和文件名,生成文件public key文件为$home/.ssh/ id_rsa.pub, private key为$home/.ssh/ id_rsa,并且自动添加至ssh-agent。
4.2 将public key上传至服务器
登陆个人账户,打开Setting-&SSH and GPB keys-&New SSH Key,将public key上传至GItHub服务器(图4)。
图 4 New SSH key
此时,在本地git clone :NinputerWonder/xxx.git即可下载Repository。
4.3 配置多账户
假设上一个账户为私人账户,现在为公司账户创建key,并且将public key添加至GitHub服务器。
ssh-keygen -t rsa -b 4096 -f $home/.ssh/company -C ""
将新生成的private key添加至ssh-agent。
PS D:\test& ssh-agent bash
kingwtw@DESKTOP-IIKCT85
$ ssh-add ~/.ssh/rsa-company
Identity added: /c/Users/kingwtw/.ssh/company (/c/Users/kingwtw/.ssh/company)
接下来创建ssh的config文件(注意该config文件和前面提到的配置文件不是同一类型),该文件位置为$home/.ssh/config。内容如下:
Host myhost personal
User NinputerWonder
IdentityFile ~/.ssh/id_rsa
Host myhost company
User wdwangtw
IdentityFile ~/.ssh/company
不难看出,其格式为
Host myhost USER_HOSTUSER_HOST为自定义host名字,如上面的personal和company
User USER_NAMEUSER_NAME为自定义名称
HostName SERVER_HOSTSERVER_HOST为实际服务器host,此时为GitHub
IdentityFile PRIVATE_KEYPRIVATE_KEY为本地key
当再次clone一个新Repos时,如果其ssh地址为:wdwangtw/xxx.git,使用git clone git@company:wdwangtw/TestUserwd.git即可clone到本地(注意换成了自定义的company),并且push时也不用输入任何验证。
使用ssh协议时,通过配置key的方式,从clone到push每一步都会进行key的校验,使用起来更加安全可靠。
使用https和ssh协议都可以做到多个GitHub账号在同一系统分别工作。使用https时,通过配置local的credential.helper为store,并且指定本地存储文件的方式达到目的。但是store方式明文存储用户信息,容易泄露账号。使用ssh协议时,如果更换机器,需要将本地private key拷贝至新系统,或者在新系统上生成新的key,并且把新生成的private key添加到GitHub后才能正常使用。
以上为个人在当前环境下测试,某些官方提供的命令并未生效。如果读者发现不正确或者不明确的地方,欢迎指正。
我将沿着你的路继续走下去。

我要回帖

更多关于 如何注册github账号 的文章

 

随机推荐