git和github有什么区别?
git是分布式版本控制系统,github是国内最大的同性交友平台。emmmmm
关于的学习,个人强烈推荐廖老师的git教程,下面附链接。浅显易懂,生动有趣。
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
既然都有廖老师的教程了,那我这篇博文有什么意义呢。
这只是分享个人的学习心得的文章,记录一些常用的命令。
unix的哲学就是:没有消息就是好消息。
所以你看到的大部分命令成功后是没有提示的,会自动跳到下一行。
一.
1.创建一个空目录
$ mkdir <name>
$ cd <name>
$ pwd
2.把这个目录变成git可以管理的仓库:
$ git init
不要乱改目录的文件,改乱了会把git仓库破坏
然后开始编辑,个人推荐sublime text
4.把文件添加到仓库
$ git add <name>
5.把文件提交到仓库
$ git commit -m””
m后面的双引号为提交的说明
6.查看修改的痕迹
$ git status
如果想要知道详细修改的地方,用git diff命令
修改后的文档需要重新add和commit
7.查看最近修改的内容
$ git log
如果不需要显示那么多信息,可以加上 --pretty=oneline参数
二.
1.版本回退
$ git reset --hard HEAD^
head表示当前版本,上一个版本为head^,上上个版本为head^^
版本前的一串数字是十六进制的编码
2.记录每一次命令
$ git reflog
3.丢弃工作区的修改
$ git checkout --file
其实是用版本库的版本踢打工作区的版本
4.git rm <name>命令可以在版本库中删除文件,并且git commit
$ rm 只是预删除命令,此命令删除后的文件,在版本库中还有,可以把误删的文件恢复到最新版本
三.
Git 与Github的connection
远程库的名字叫origin
1.把本地库的所有内容推送到远程库上,只要在本地做了提交,就可以通过命令 $ git push origin master ,把本地master分支的最新修改推送至GitHub
2. 从远程库克隆到本地库
$ git clone git@github.com.tammyhlf/gitskills.git
$ cd gitskills
$ ls
上面的github名字还有文件的名字改成自己的即可
3.$ git checkout -b命令表示创建并且切换一个分支
相当于$ git branch <name>加$ git checkout dev
4.把dev分支的工作成果合并到master分支上
$ git merge dev
5.删除dev分支
$ git branch -d dev
强制删除分支
$ git branch -D
6.从本地库推送分支到origin
$ git push origin master
7.分支div(两个人在工作)commit有冲突时
用git push把最新的提交origin/dev抓下来,在本地合并,解决冲突后在再推送
四.
1给版本打标签,切换到要打标签的分支上
$ git branch
$ git checkout master
$ git tag <name>
2.标签打错时,可以用以下命令删除
$ git tag -<name>
3.推送标签到远程库
$ git push origin <name>