您的位置:首页 > 其它

Git学习总结(一):本地操作

2017-03-16 18:52 295 查看
Git是目前世界上最先进的分布式版本控制系统,以其方便的版本控制、允许个人电脑操作的优势、以及强大的分支管理而备受关注。

安装:

在linux上直接执行:

sudo apt-get install git


在windows上:从https://git-for-windows.github.io下载,然后默认安装。

创建版本库:

注:在进行任何Git操作之前,都要切换到Git仓库目录

打开Git Bash,在合适的目录下创建一个文件夹:

$ mkdir learngit
$ cd learngit


git init
命令把这个目录变成Git可以管理的仓库。

一些基本的命令:

再创建好文件后,

先用命令
git add <file>
告诉Git,把文件添加到仓库,

再用命令
git commit
告诉Git,把文件提交到仓库

$ git commit -m "描述文件的说明"


在成功添加并提交文件后,可运行
git status
命令看看结果:而
git diff <file>
可以查看具体修改了那些内容,然后就可以放心提交了。不过这两个命令要在
git commit
之前,因为
git diff
只能比较提交之前的文件。

说明:在git的版本库中(文件中的.git文件),包括暂存区(stage)和当前工作的分支(master)等。第一步是用
git add
把文件添加进去,实际上就是把文件修改添加到暂存区;第二步是用
git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。而
git status
就是查看暂存区的状态,当我们
git commit
之后,再
git status
就没有内容了。

版本回退:

git log
命令可查看历史记录,其中的commit为版本号,每当提交一次代码后,git就会给这个版本生成一个commit。

git log --pretty=oneline
加这个参数来查看简略的历史记录,包括commit id(版本号)和提交的说明。

在git中用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,第前100个版本可以写为HEAD~100。

可以用
git reset
退回指定版本:

$ git reset --hard HEAD^


当我们退回几个版本后,也可以用同样的命令回到已经退过的版本(此时的未来版本),不过这时就需要commit id(版本号)了,当然commit id也不用写全,有前几位就好了。

$ git reset --hard 版本号


如果已经关闭了命令窗口,还可以用
git reflog
来查看已经执行的命令来寻找版本号。

只要没有删除版本就可以这样操作,因为当前HEAD只是指向这些版本的指针。

撤销修改:

当我们修改了文件,或者在
git add
之后修改了文件(
git mommit
之后就只能退回版本了),可以通过命令来撤销操作。这里有两种情况:

第一种:修改后还没有被放到暂存区,也就是还没有
git add
,现在,撤销修改就回到和版本库一模一样的状态,执行命令:
git checkout -- file


第二种:已经添加到暂存区后,又作了修改,这时先用命令
git reset HEAD
file可以把暂存区的修改撤销掉,再执行
git checkout -- file


删除及撤回

当rm文件之后,版本库里的文件还存在,可以用命令
git rm
删掉,并且
git commit
删除版本库的文件:

$ git rm test.txt
$ git commit -m "remove test.txt"


另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

$ git checkout -- file


也就是说
git checkout
其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

下一次将介绍GitHub、Git的远程操作及分支管理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git