一直听说github是个神奇的版本控制软件,一直没有机会用它,最近终于有时间系统的学习一下了。
如果大家想系统的学习github,推荐这个网站:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
讲的通俗易懂,生动形象,简直太赞了。
git status
查看被修改后的文件都有什么
git diff
查看被修改的文件中修改的地方
git add filename
:将filename文件提交到缓冲区中。
其中可以添加多个参数,例如
git add -i
可以查看所有已经被修改过但是还没有被提交的文件。git add -A
将所有被修改过的文件添加到缓冲区中。
git rm abc.txt
:将abc.txt从缓冲区中删除,然后commit将abc.txt从版本库中删除
git checkout -- abc.txt
:将abc.txt恢复到上一个版本,如果abc.txt没有提交到缓冲区只是单纯的进行了修改,则更改到修改之前,如果abc.txt已经提交到缓冲区,则更改为与缓冲区一致。
git commit -m "我是注释"
:将缓冲区的内容提交到版本库中,并同时提交注释。
git log
:查看在版本库中提交过的文件和注释
git log --pretty=oneline
:如果觉得显示的内容太多,可以用这条命令对每条日志显示一行
git reset --hard HEAD^
:版本回退到上一个版本,其中HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上个版本,依此类推。HEAD^部分也可以使用commit id来表示要退回的版本号。
使用git reflog
就算版本被抹掉了也可以看到,但前提是不要太遥远
根据以上几条简单的命令,就可以大致实现github最基本的功能了。
不过要想推送到github主页上去,还需要一些操作。
ssh-keygen -t rsa -C "XXX@163.com"
用来生成ssh私钥和公钥,一路回车就可以,在~/.ssh/目录下生成两个文件,id_rsa和id_rsa.pub,其中后者为公钥,需要将这个公钥加到github官网的ssh密钥中,这样这台电脑的内容就可以直接推送到github官网上。
然后使用命令git remote add origin git@github.com:username/test.git
:创建一个本地库与github主页中的仓库相关联,其中origin为自己定义的库名字,github的路径为自己的github仓库的名字。
git push -u origin master
:将本地库origin中的master分支推送到github主页仓库中的master分支中。
画了个丑图,噗哈哈哈哈哈
如果想要从github远端库中获取github主页上显示的那堆东西,就要使用git clone git@github.com:username/test.git
命令来克隆,如果多个人协作进行一个项目,每个人从远端库中克隆一份就可以啦
可是如果你的代码今天写了一半,提交上去的话别人就没办法在你的基础上修改,因为根本跑不起来。可是如果不提交,又存在自己代码丢失的风险,所以就要用分支,就相当于你自己弄了个自己的保险箱,将自己的代码装在保险箱里,跟别人运行的版本没有影响,等到自己的这份代码完全写完了,把它从自己的保险箱里拿出来放在公共的地方。
下面介绍一下分支:
前文所使用的master即为主分支。
git branch
:用来查看现有的所有分支,其中前面带*的分支为当前分支
git checkout dev
:进行分支的切换,该命令将当前分支切换到dev
git merge dev
将当前分支与指定分支合并,示例为将当前分支与dev分支合并。如果在合并过程中出现冲突,使用git status
查看冲突出现的地方,手动修改后合并
git branch -d dev
:用来删除某个分支,示例为将dev分支删除,如果想要删除某个分支,当前分支一定不能为所要删除的分支。
(未完)
写的乱七八糟的,自己都看不下去了,就当做个笔记没事翻一翻吧