您的位置:首页 > 其它

Git初学笔记

2017-06-17 10:47 267 查看

Git学习笔记

2017/6/16

这次的笔记主要是笔者在观看莫烦的Git教学视频中进行记录的

一 创建git仓库

首先介绍一下如何创建一个git仓库

首先需要选择一个文件夹作为你的仓库。

设置git的全局设置:

git config --global user.name "chencheng"


git config --global user.email "chenchengsmail@qq.com"


设置使用者的名字和email之后,在每次提交的时候就会显示该用户提交的。

在文件夹目录下初始化该仓库

git init


这样该文件夹就变成了文件管理库

并且在该文件夹下面会出现一个.git文件夹

(由于是“.”开头的文件夹所以文件夹是隐藏显示的,使用
ls -a
来进行所有文件的显示,注意不要手贱去修改文件夹里面的文件)

使用
git status
来查看仓库的状态,由于我们没有提交任何东西到仓库,所以里面是没有东西的。(如果有的时候嫌输出的字太多,使用
git status -s
可以查看简略的参数状态)

二 在仓库中添加文件

如何在新建好的git仓库中新增文件

假如这时候在仓库中添加demo.py这个文件,那么再使用
git status
,此时便会发现仓库里面提示说有文件没有被添加到git管理库中去。

这个时候使用
git add demo.py
将demo.py这个文件添加到仓库中去。

(Tips: 如果想一次性将文件夹中所有未被添加的文件都添加进行,使用
git add .
来添加所有)



下面使用一张官网的图片来对整个过程进行介绍:

首先仓库中的文件刚开始被新建出现之后都是处于Untracked状态(这时候git追踪不到的状态),此时我们要将这些新的文件都进行add到staged状态中去。

文件被add到了staged状态之后就可以被跟踪修改也可以被提交了。

要将文件从staged状态下commit上去则使用
git commit -m "create demo.py"
即可。

这里的-m后面加上的字符串代表的是本次提交的信息。

三 查看仓库里面提交的信息

如何查看已经提交之后的信息

提交了之后,使用
git log
命令来查看仓库里面的信息。会发现我们上一次提交的文件信息。

如果对提交的文件进行修改然后再使用
git status
查看就会出现提示说文件处于修改状态,这就是git跟踪到了文件已经被修改了。这时候如果我们要提交修改,则跟上面步骤一致,先使用
git add demo.py
将变化的文件add到staged状态中去,然后再使用
git commit -m "change 1"
来提交上去。这个时候再使用
git log
命令来查看提交的信息就会发现现在多了一条刚刚提交上去的信息。

四 查看文件修改情况

如何查看修改文件的情况

再对同一文件进行修改,使用
git status -s
命令来对修改内容进行查看,此时文件又会处于修改状态,此时使用命令
git diff
可以查看到文件的大致修改情况。

使用
git add .
将所有的变化都add上去变成staged状态,此时如果要再查看add之后的变化信息,则要使用
git diff --cached
来进行查看。这个时候再将文件进行修改,则会出现两个modified状态,一个使add上去的绿色modified,一个是红色的没有进行提交的modified状态。此时如果还要对变化进查看则需要使用到
git diff HEAD
,这样对两个文件的变化都会进行显示。同理可以查看某个状态的变化情况。

五 回到从前的版本状态

当我们后悔提交之后,如何回到之前commit的状态下的文档情况

先可以查看一下提交的信息,使用
git log --oneline
来进行缩写显示。

如果这个时候我们发现上一次的提交有点问题(并且文件名也被我们改变了),希望重新提交上一次的东西,但是又不会改变整体的log状态,这个时候使用
git commit --amend --no-edit
这样就可以使用这一次的提交来代替上一次的版本而不是多出一次log(可以看到这个时候的ID变了)

如果更改后add到了staged状态,但是发现还想要继续进行修改再提交,那么这个时候可以使用
git reset demo.py
来将文件从staged状态变成modified状态从而可以继续进行修改。

如果希望回到之前提交的版本中去,或者是上一个版本中的内容被意外删除了,这个时候就可以使用
git reset --hard HEAD
来对上一个版本的内容进行恢复。(比如我提交了demo.py文件,但是我不小心将这个文件删除了,那么这个时候我使用这个命令就会将已经删除了的文件恢复出来。)

如果我要回到之前提交的前两次内容的情况下,我可以使用
git reset --hard^^
来回到上两次提交的版本情况中去。

如果要回到前100次提交的情况同理,使用
git reset --hard~100
即可;

此外还可以使用特定的版本号来进行跳到特定版本情况中去,使用
git reset --hard 2a23423
即可跳到版本号为2a23423的版本中去。这里不需要看
git log
中那一长串的版本号,而只需要使用
git log --oneline
中较短的版本号即可。

这个时候我们反悔了,而这个时候使用
git log
又看不到我们前面最先前的版本号了,那么这个时候我们就需要使用到
git reflog
来查看之前提到的所有版本,记下特定的版本号(假设为xxxxxxx)之后使用
git reset --hard xxxxxxx
然后再跳到想跳到的版本中去即可。

又或者是跳到对应的head指针中去使用
git reflog
查看当前指针指向的位置(假如我们此时需要跳到HEAD@{1})然后再使用
git reset --hard HEAD@{1}
即可跳到该指针指的的位置中去即可。

六 删除文件

如果想要删除文件(想删除)或者是不小心删除了文件(想恢复)

在版本库中,有一些文件需要删除,那么可以直接删除本地文件。这个时候通过使用
git status
查看状态就能看到git发现了版本中的一些文件被删除了。这个时候使用
git rm 文件名
即可将版本库中的文件进行删除,然后再进行提交
git commit -m "delete some checkfile"
即可完成删除。

另外一种情况,本地的文件并不想进行删除,而是误删的。这个时候可以使用
git checkout -- 文件名
即可轻松将误删文件恢复到最新的版本。

换句话说,只要你先前的文件都进行了commit,那么久不用担心文件被误删的情况了O(∩_∩)O

七 将仓库上传到Github

假设要将本地仓库中的内容上传到Github上去

首先在Github上新建一个仓库,新建之后又命令提示如何将当前本地的仓库提交到网络上的Github仓库中去(大概长这样)
git add origin https://github.com/Cheneng/Pyplot.git
后面会提示填写Github信息。

然后使用
git push -u origin master
即可将本地的master分支上传至Github仓库中去。同理如果有不同的分支名字,则使用
git push -u dev
即可将dev分支上传。

本地的仓库上传之后,如果更改了本地的代码并且commit了之后,想要同步仓库至Github上去,此时只需要直接使用
git push -u origin master
即可直接推送上去。

简而言之,只需要关联一次Github,后面再上传就只需要使用
git push -u origin 分支名
即可将当前本地仓库中的内容上传到Github上的分支中去。

关于分支等内容,因为本人还没有进行使用,因而还没有去学习其他方面的知识。对于其他的更多功能,可以在需要使用的时候再去学习即可。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git 教学