git连接远程仓库(github)

Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。
gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。
找工作的时候在简历上附上github开源项目,无形之中就为自己加分不少!

创建github账号

登录https://github.com/,用邮箱注册账号,然后github会给你发送邮件,让你激活邮箱账号,然后就可以创建代码仓库了!

安装git

sudo apt-get install git

本地Git仓库和GitHub仓库之间进行传输

1:创建项目的SSH Key

ssh-keygen -t rsa -C "[email protected]"

创建完成后,在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人

2:登录github注册或登录账号,打开“settings”的“SSH Keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,你就应该看到已经添加的Key(注意:用cat id_rsa.pub,然后在进行复制,如果用vim的话,会出错!)
git连接远程仓库(github)_第1张图片
最好使用新版的chrome或者firefox登录github,不然的话,点击new ssh key的话可能没有反应!

创建远程库

登陆GitHub
在右上角找到“new repository”按钮,创建一个新的仓库
这里写图片描述
git连接远程仓库(github)_第2张图片

从远程库克隆到本地库

将github上的项目,克隆到本地一份
git连接远程仓库(github)_第3张图片
git连接远程仓库(github)_第4张图片
选择your profile查看仓库地址

git clone git@github.com:账号名/项目名.git

这样就将github上的仓库,克隆到本地了,接下来我们就可以在本地修改仓库中的代码,并且与远程仓库进行交互

这是我的github仓库
git连接远程仓库(github)_第5张图片
本地clone仓库
git连接远程仓库(github)_第6张图片

接下来我们在本地仓库创建一个文本test.txt,并写入一段话(随便写!)
1:将文件添加到暂存区

git add test.txt

2:将暂存区内容添加到仓库区

git commit -m "本次提交的说明信息"

3:将本地提交到远程仓库

git push origin master

为了避免提交报错,在git push origin master之前需要先从远程库获取到本地

git pull

有时候如果报错:
提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程变更合并(如 ‘git pull …’)。详见
提示:’git push –help’ 中的 ‘Note about fast-forwards’ 小节。
引起这个问题是远程仓库和本地不同步引起的

解决方案:需要先获取远端更新并与本地合并,再git push
具体操作如下:

git fetch origin    //获取远程更新
git merge origin/master //把更新的内容合并到本地分支

git连接远程仓库(github)_第7张图片

git连接远程仓库(github)_第8张图片

如果我们git clone的下载代码的时候是连接的https://而不是git@git (ssh)的形式,当我们操作git pull/push到远程的时候,总是提示我们输入账号和密码才能操作成功,频繁的输入账号和密码会很麻烦。
解决办法:git config --global credential.helper store

自此git与github的交互也就完成了!

接下来看一看版本退回

有时候修改了文件,又不想修改了,那就需要版本退回。
1:回退历史版本到暂存区

git reset HEAD^或版本号

2:使用暂时区的内容恢复工作区的内容

git checkout 文件名

举个例子,我在github上修改了test.txt文件
git连接远程仓库(github)_第9张图片
git连接远程仓库(github)_第10张图片

本地仓库情况
git连接远程仓库(github)_第11张图片
版本倒退后的效果!
git连接远程仓库(github)_第12张图片

git其他命令

查看暂存区的状态:git status
当前版本的历史版本:git log
简版显示:git log –pretty=oneline
历史命令:git reflog
删除文件:
rm 文件名
git rm 文件名
git commit -m ‘说明信息’
对比工作区和仓库区中某版本某文件的不同:git diff HEAD 文件名
在目录下创建本地仓库:git init
以上是git自学心得,其中当然有很多不足的地方,希望各位老铁能够提出来,让我们共同进步!

你可能感兴趣的:(linux)