git简介以及回顾一些基本操作
1.了解git
1.1.git的诞生
本世纪初,随着linux内核更新速度与日俱增,势必需要一个功能性更强,性能更高的版本控制系统来提高开发速度。
于是linux之父Linus Torvalds在2005年,亲自开发了git这一强大的版本控制系统。
有趣的是,git在诞生之初,并不受主流欢迎,原因是它艰涩难懂,不容易被大众所使用。好在github的出现,使得它在短短十几年内成为主流的分布式版本控制系统,github也成为了最受欢迎之一的开源社区。
1.2.git的特点简介
-
不同于SVN,适合分布式开发,强调个体。
-
公共服务器压力和数据量都不会太大。
-
任意两个开发者之间可以很容易的解决冲突,通过pull request互相交流,可以快速方便的修bug或者更新代码。
-
git完全可以离线工作,你可以在本地执行几乎所有操作。
1.3.git基本用法
完全可参照:git 简明指南 (runoob.com)。
也可使用更为直观的图形化界面:http://www.sourcetreeapp.com/
2.使用git时一些常用指令
网上太多使用github教程,从注册github到安装git一条龙服务。在此就不必过多说明,直接回顾一些常用的git指令吧。
2.1.git init(初始化仓库)
git是一个电脑上的版本控制系统,要实现与github的对接,必须建立git仓库,通过pull,push等命令与github远程仓库对接。
mkdir git-tutorial
cd git-tutorial
git init
要建立一个仓库,首先需要mkdir新建一个,切换到该目录,之后进行初始化。
2.2.git status(查看仓库的状态)
git status
在查看仓库状态时,会出现on branch master(在分支master上)。no commits yet说明没有add文件。
2.3.git add(新建仓库文件)
git add README.md
git add 命令可将文件添加到缓存,如新项目中,这是一种普遍添加文件方式。直接在后缀更改文件名即可实现不同类型文件的添加。
2.4.git commit(保存仓库的历史记录)
git commit -m ""
git commit可以将暂存区文件保存到仓库的历史记录中,以便复原。
2.5.git log(查看提交日志)
git log
git log可以给出commit,author,hash一些日志消息。
2.6.git diff
git diff
使用git diff比较文件前后的不同。
2.7.git branch(查看分支列表)
git branch
git branch可以查看分支树,也可以和git checkout连续执行创建并切换到新分支。
2.8.git checkout -b(创建切换分支)
git checkout -b newbranch-a
-b是指创建new branch后直接切换到该分支。要想切换到master,只需git checkout master即可。
2.9.git merge(合并分支)
git merge --no-ff xx
先使用git checkout切换到你想要将合并后的分支名称下,之后使用该命令将xx换成你想将其合并的分支名即可。
2.10.git reset(回溯分历史版本)
git reset --hard hash
直接使得分支和分支下文件回溯到hash值所在时间状态。所以有句话说(我也不知道听谁说的),git让你永远不再担心文件丢失问题。
2.11.git rm
git rm
gir rm -f
Git 中移除某个文件,必须要从已跟踪文件清单中移除,如果放入暂存区的话,就要加-f。linux常规命令。
2.12.git mv
git mv xx xxx
git mv 命令用于移动或重命名一个文件、目录、软连接。linux常规命令。
2.13.git remote add(向远程仓库添加文件)
git remote add name [url]
添加到服务器上的远程仓库。
2.14.git remote(查看远程仓库)
git remote
查看远程仓库状态。
2.15.git remote rm(删除远程仓库文件)
git remote rm name
删库跑路喽。
2.16.git push(提取远程仓库)
git push files branch name
git push 推送你的新分支与数据到某个远端仓库命令
2.17.git pull(推送远程仓库)
git pull files –allow-unrelated-histories
git pull相当于是从远程获取最新版本并merge到本地。
2.18.git clone
git clone https://github.com/user/files.git
使用git clone命令可以从Git仓库拷贝项目,这是我使用最多的命令之一,因为自己很少向github上传文件,只会用别人的啦。。又菜又爱玩~