Github使用
1:man git首先检查本机是否装有git,Ubuntu下sudo apt-get install git进行安装。
代码:man git
2:如果远程有库,将远程库克隆下来;
代码:git clone http://github/aaa/bbb
如果远程没有库,就登录到github创建项目。
---------------------------------开始上传操作---------------------------------
3:cd 到项目目录,git init进行初始化
代码:git init
4:设置谁需要提交该修改?名字是什么,邮箱是什么,写自己的即可
代码:
git config user.name “leo”
git config user.email “leo@qq.com”
注意:这一步不写,有些时候不可以执行下一步,git会提示你进行这一步的操作,所以建议写上去。
5:将本地项目工作区添加到暂存区
代码:git add . (最后的空格和小点不能忘记!!)或者 git add abc.txt(没有空格和小点)
6:commit到暂存区,并且添加简介
代码:git commit –m “这里是简介”
7:将本地仓库关联到Github上
代码:git remote add origin https://github.com/aaa/bbb
问题:
在这一步时如果出现错误:fatal:remote origin already exists
解决办法如下:输入 git remote rm origin
之后在执行上面的一句代码,就不会报错了
8:本地仓库上传至远程仓库
代码: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 https://github.com/aaa/bbb
注意:origin指定了你要push到哪个remote
master的正常形式为” <src>:<dst>”,冒号前表示本地branch的名字,冒号后表示远程库下 branch的名字。
git push origin master 等价于“git push origin master:master” ,将本地master分支上传到远程库的master分支,如果想将本地leo分支上传到远程master分支应该这么写git push origin leo:master
9:查看远程代码是否更新。
---------------------------------结束上传操作---------------------------------
---------------------------------LEO的分割线---------------------------------
1:git clone 和 git pull origin master 区别
clone:克隆,将远程库克隆到本地,本地是个从无到有点过程,本地是个新建的仓库。
pull:将远程库的更新拉到本地,本地是有库的,远程也有库,只是将远程更新过的代码拿到本地,查看是否更新是看你的版本号是否一致。
2:查看日志
代码:git log
执行成功会显示如下
commit 048e25a866087cb077cd97e7d333ab0804abfce3 //这个是版本号,回退时候需要用到。
Author: leo <leo@qq.com> //谁执行了这次的commit操作,这个是执行者自己填写的
Date: Sun Feb 12 18:59:41 2017 -0800 //执行commit的具体时间
updata leo.txt //执行commit中的简介部分
这里有多少个版本就会显示多少个commit,可以清晰的看出每次的commit是谁执行了什么操作!按q退出。
3:回退操作
代码:
git reset - - hard HEAD^ //回退到上个版本
git reset - - hard HEAD^^ //回退到上上个版本
git reset - - hard HEAD~100 //回退到上面第100个版本
git reset - - hard HEAD 048e25 //回退到版本号是048e25开头的那个版本
---------------------------------LEO的分割线---------------------------------
分享一些Github常用的命令:
切换分支:git checkout name
撤销修改:git checkout -- file
删除文件:git rm file
查看状态:git status
添加记录:git add file 或 git add .
添加描述:git commit -m "miao shu nei rong"
同步数据:git pull
提交数据:git push origin name
分支操作
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout -b name
合并某分支到当前分支:git merge name
删除分支:git branch -d name
删除远程分支:git push origin :name
ubuntu下使用git提交代码
一、Ubuntu下安装Git
Ubuntu12.04 LTS默认是已经安装Git的,可以使用 git --version 测试是否安装。
如果没有安装,使用命令: sudo apt-get install git git-core 安装git
二、ssh认证
在Ubuntu下使用ssh命令连接github.com的SSH服务,登录名为git@github.com(所有GitHub用户共享此SSH用户名)。
ssh -T git@github.com
执行之后提示:Permission denied (publickey).
这说明我们还没有在GitHub账户中正确设置公钥认证,如下图所示:
接下来通过Ubuntu下的ssh-keygen命令创建公钥/私钥对:
ssh-keygen -C "yourname@gmail.com" -f ~/.ssh/github
然后将~/.ssh/github.pub公钥中的内容复制到剪贴板,公钥是一行长长的字符串,注意在粘贴时不要加入多余的空格、换行符等,否则在公钥认证过程当中因为服务端和客户端公钥不匹配而导致认证失败。最后将正确的公钥内容拷贝到GitHub的Key文本框中,并为这个ssh起个名字,保存即可。
设置成功后,用Terminal用ssh命令访问GitHub,会显示一条认证成功的消息并退出。
ssh -T git@github.com
执行后提示:Hi github! You've successfully authenticated, but GitHub does not provide shell access.
经过以上几步设置就可以直接使用git命令访问github的代码仓库了。
三、提交代码至GitHub
首先,在github.com上创建一个新的repo,根据情况加上适当的.gitignore,LICENSE等,然后提交本地代码至github
git pull 获取新版本
git status
git add .
git commit -m "add new files"
git remote add origin git@github.com:FranFan/php-demo
git push -u origin master
最后附上一张图,很有用。
1.用户名和邮箱地址的作用###
用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。
每次commit都会用用户名和邮箱纪录。
github的contributions统计就是按邮箱来统计的。
2.查看用户名和邮箱地址:###
$ git config user.name
$ git config user.email
3.修改用户名和邮箱地址:###
$ git config --global user.name "username"
$ git config --global user.email "email"