菜鸟之路——git学习及GitHub的使用
首先,感谢廖雪峰老师的git教程
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
写的真的很好。
笔记:
1,安装之后记得配置,自己想个名字,和自己的邮箱
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
2,新建git仓库
先新建文件夹(git bash命令行界面就是Linux里的命令,毕竟git是Linux它亲爸一气之下开发的)
然后
$ git init
就把这个文件夹初始化为git仓库了
3,编辑文件
可以用vim,或者Notepad++。把代码文件什么的放在刚才那个目录就好
4,添加到仓库
编辑完文件并没有往仓库里面放呢。
先执行
$ git add readme.txt
把文件提交到缓存区
再
$ git commit -m "wrote a readme file"
把缓存区的文件正式提交给仓库。-m选项是给此次改动做备注
这就把文件完全提交给仓库了。
5,查看仓库状态
$ git status
会看到目前仓库里面的文件和缓存区和文件夹里面三个地方的文件的区别
$ git diff readme.txt
查看readme.txt这个文件的改动
$ git log
查看所有的提交给仓库的日志
6、版本退回
$ git reset --hard HEAD^
HEAD代表现在的版本,HEAD^代表上一个版本,HEAD^^代表上上个版本
如果回到上个版本了,还想再回到现在的版本
就需要记住git log输出文本里面的一长串HEAD,比如e475afc93c209a690c39c13a46716e8fa000c366
再
$ git reset --hard e475a
就行了,只需要前几个字母让它能唯一的匹配得到就行
7,工作区和暂存区
工作区就是写文件的那个文件夹,暂存区就是git add 执行后文件所存的地方。再git commit才能把文件放进仓库。
一个文件想放到仓库里,这三步缺一不可。如果没有git add,暂存区就没东西,git commit就没有东提交给仓库。
同时可以git add多个文件,最后用一个git commit,就可以把所有的git add的文件都放进仓库
8,撤销修改
$ git checkout -- readme.txt
它撤销了readme.txt在工作区的修改。也就是让这个文件回到最近一次git commit 或 git add时的状态。
$ git reset HEAD readme.txt
它撤销了在暂存区,还未提交到仓库的修改
9,删除文件
$ rm test.txt $ git rm test.txt $ git commit -m "remove test.txt"
先在本地删除,再在仓库删除,最后再提交一下
如果误删了呢,不用急,直接
$ git checkout -- test.txt
就将用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
10,远程仓库(用的SSH协议)
先执行
$ ssh-keygen -t rsa -C "youremail@example.com"
生成.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
然后把公钥复制粘贴到GitHub上
再在GitHub上新建仓库,简单的命名一下就行
$ git remote add origin git@github.com:michaelliao/learngit.git
再用这个语句在本地初始化关联远程库。
然后用
$ git push -u origin master
把当前仓库推送到远程仓库里。第一次使用加上-u参数,后面推送就不用-u了
11,从远程库克隆
$ git clone git@github.com:michaelliao/gitskills.git
就会把那个远程库里面的所有东西克隆到本地当前文件夹了,也可用https协议
今天暂且学到这,后面分支管理,抽空再学