一、上传本地代码
第一步:建立git仓库
cd到你的本地项目根目录下,执行git命令
- 1
- 1
通过git init命令把这个目录变成git可以管理的仓库,当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的
第二步:将项目的所有文件添加到仓库中
- 1
- 1
如果想添加某个特定的文件,只需把.换成特定的文件名即可
第三步:将add的文件commit到仓库
第四步:在gitbub上创建项目,并复制项目链接
第五步:将本地的仓库关联到github上
- 1
远程库的名字就是origin,这是Git默认的叫法
第六步:上传github之前,要先pull一下,执行如下命令:
在这一步会碰到
第七步,上传代码到github远程仓库
- 1
- 1
执行完后,如果没有异常,等待执行完就上传成功了,中间可能会让你输入Username和Password,你只要输入github的账号和密码就行了。
二、扩展
当我们想要在gitub上的不同仓库推送代码的时候,先在gitub新建repository,在本地新建文件夹,又可以被称为work directory,cd directory,然后git init 为了防止 错误, 输入$ git remote add origin git@github.com:xiaoxiongmila/gitdemo.git 就不会报错了!git add demo git commit -m "demo说明" 接着 先输入$ git pull origin master //先把远程服务器github上面的文件拉下来(记住不要出现中文字符)
下一步,就可以把本地库的所有内容推送到远程库上 $ git push -u origin master
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
第二次往相同的仓库里面添加文件,就直接cd directory git add directory git commit -m “文件说明” git push origin master就可以了。
如何参与一个开源项目呢?比如人气极高的bootstrap项目,这是一个非常强大的CSS框架,你可以访问它的项目主页https://github.com/twbs/bootstrap,点“Fork”就在自己的账号下克隆了一个bootstrap仓库,然后,从自己的账号下clone:
git clone git@github.com:michaelliao/bootstrap.git
一定要从自己的账号下clone仓库,这样你才能推送修改。如果从bootstrap的作者的仓库地址git@github.com:twbs/bootstrap.git克隆,因为没有权限,你将不能推送修改。
三、
常见错误总结
如果输入
$ git remote add origingit@github.com:djqiang(github帐号名)/gitdemo(项目名).git
提示出错信息:
fatal: remote origin already exists.
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$ git remote add origin git@github.com:djqiang/gitdemo.git
就不会报错了!
3、如果输入$ git remote rm origin
还是报错的话,
error: Could not remove config section 'remote.origin'
. 我们需要修改gitconfig文件的内容
4、找到你的github的安装路径,我的是
C:UsersASUSAppDataLocalGitHubPortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8etc
5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]
那一行删掉就好了!
如果输入$ ssh -T git@github.com
出现错误提示:Permission denied (publickey)
.因为新生成的key不能加入ssh就会导致连接不上github。
解决办法如下:
1、先输入$ ssh-agent
,再输入$
ssh-add ~/.ssh/id_key
,这样就可以了。
2、如果还是不行的话,输入ssh-add ~/.ssh/id_key
命令后出现报错
Could not open a connection to your authentication agent
.解决方法是key用Git Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行来做。
3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。
如果输入$ git push origin master
提示出错信息:
error:failed to push som refs to .......
解决办法如下:
1、先输入$ git pull origin master
//先把远程服务器github上面的文件拉下来
2、再输入
$ git push origin master
3、如果出现报错
fatal: Couldn't find remote ref master或者fatal: 'origin' does not
appear to be a git repository以及fatal: Could not read from remote
repository.
4、则需要重新输入$ git remote add origingit@github.com:djqiang/gitdemo.git
提示出错信息:
fatal: Unable to create '/path/my_proj/.git/index.lock': File exists.
If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.
解决方法如下:
rm -f ./.git/index.lock