目录
@(Github)[Git|安装|代码仓库|代码存放]
github 是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。Github由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。
目前看来, github这场冒险已经胜出。根据来自维基百科关于GitHub的描述,我们可以形象地看出GitHub的增长速度:
文章目录
1.Git 远程仓库(Github)
Git 并不像 SVN 那样有个中心服务器。
目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。本例使用了Github 作为远程仓库,你可以先阅读我们的Github 简明教程
添加远程库
要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,命令格式如下:
git remote add [shortname] [url]
本例以Github为例作为远程仓库,如果你没有Github可以在官网https://github.com/注册。
- 1 - 由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以我们需要配置验证信息:
- 2 - 使用以下命令生成SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
-
3 - 后面的 your_email@youremail.com 改为你在 github 上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成**.ssh**文件夹,进去,打开 id_rsa.pub,复制里面的 key。
-
4 -回到 **github **上,进入 Account => Settings(账户配置)。
-
5 -左边选择 SSH and GPG keys,然后点击 New SSH key 按钮,title 设置标题,可以随便填,粘贴在你电脑上生成的 key。
-
6 -为了验证是否成功,输入以下命令:
$ ssh -T git@github.com
Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access.
以下命令说明我们已成功连上 Github。
2.配置Git
(1)首先在本地创建ssh key;
$ ssh-keygen -t rsa -C "your_email@youremail.com"
后面的your_email@youremail.com改为你在github上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。回到github上,进入 Account Settings(账户配置),左边选择SSH Keys,Add SSH Key,title随便填,粘贴在你电脑上生成的key。 生成key
(2)验证
为了验证是否成功,在git bash下输入:
$ ssh -T git@github.com
如果是第一次的会提示是否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_email@youremail.com"
(3)添加远程地址
进入要上传的仓库,右键git bash,添加远程地址:
假如你在自己的github上面创建了一个Repository项目文件里面有如下所示,按照下面执行
or create a new repository on the command line
echo "# spring-boot-demo" >> README.md //创建readme.md文件
git init //初始化git
git add README.md //向项目里面添加readme.md文件,你也可以用*添加所有文件
git commit -m "first commit" //添加提交信息
git remote add origin https://github.com/weiaigewang/spring-boot-demo.git
//添加到要提交的仓库Repository地址
git push -u origin master //提交执行,等待执行信息
3、出现的错误
在使用git推送项目时候出现 "fatal: The remote end hung up unexpectedly " 原因是推送的文件太大。
解决方案:
在克隆/创建版本库生成的**.git目录下面修改生成的config文件**增加如下:
[http]
postBuffer = 524288000
重新推送即可。
3.常出现的问题
3.1、错误一
出现这样的问题是由于:自己当前版本低于远程仓库版本
3.2、解决方法:
1.使用强制push的方法:
git push -u origin master -f
这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。
2.push前先将远程repository修改pull下来
git pull origin master
git push -u origin master
3.若不想merge远程和本地修改,可以先创建新的分支:
git branch [name]
然后push
git push -u origin [name]
3.2、错误2
1、造成的原因
//本地创建了一个project
//并在码云或者github上创建了一个仓库,想要将本地的仓库链接到远程仓库我用的是如下方法:
git init //初始化本地仓库
git remote add origin XXX //添加远程仓库地址
//如果你在这之后就执行
git add -A,
git commit -m " "
git push origin master,那么就会出现这个问题(被拒绝),所以在remote add后不要着急git add,一定要git pull origin master,出现这个
2、原因:
是因为你在码云创建的仓库有ReadMe文件,而本地没有,造成本地和远程的不同步,
那么有两种方案可以解决:
3解决方案(一)、本地没有ReadMe文件,那么就在本地生成一个:
git pull --rebase origin master //本地生成ReadMe文件
git push origin master
4、解决方案(二)强制上传覆盖远程文件,
git push -f origin master
(这个命令在团队开发的时候最好不要用,否则可能会有生命危险)
链接:https://www.jianshu.com/p/004f47f908c5
原文链接: http://www.runoob.com/w3cnote/git-guide.html