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 "youremail@example.com"
创建完成后,在用户主目录里找到.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的话,会出错!)
最好使用新版的chrome或者firefox登录github,不然的话,点击new ssh key的话可能没有反应!
创建远程库
登陆GitHub
在右上角找到“new repository”按钮,创建一个新的仓库
从远程库克隆到本地库
将github上的项目,克隆到本地一份
选择your profile查看仓库地址
git clone git@github.com:账号名/项目名.git
这样就将github上的仓库,克隆到本地了,接下来我们就可以在本地修改仓库中的代码,并且与远程仓库进行交互
这是我的github仓库
本地clone仓库
接下来我们在本地仓库创建一个文本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 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其他命令
查看暂存区的状态:git status
当前版本的历史版本:git log
简版显示:git log –pretty=oneline
历史命令:git reflog
删除文件:
rm 文件名
git rm 文件名
git commit -m ‘说明信息’
对比工作区和仓库区中某版本某文件的不同:git diff HEAD 文件名
在目录下创建本地仓库:git init
以上是git自学心得,其中当然有很多不足的地方,希望各位老铁能够提出来,让我们共同进步!