Lxxxxxxy_
Lxxxxxxy_
Published on 2019-08-16 / 43 Visits
0

GitHub学习笔记

老师:封捷

Git命令行操作

本地库初始化:git init(执行后会初始化一个空的Git仓库,.git目录中存放的是本地库相关的子目录和文件,不能删除,也不能随便修改)

设置签名:

  形式:

  用户名:lxy

  Email地址:admin@lixingyu.cn

  作用:区分不同开发人员的身份

  命令:

   项目级别/仓库级别:仅在当前本地库范围内有效

   git config user.name lxy

   git config user.email admin@lixingyu.cn

   配置保存位置:.git/config

   系统用户级别:登录当前操作系统的用户范围

   git config --global user.name lxy

   git config --global user.email admin@lixingyu.cn

   配置保存位置:用户目录下/.gitconfig

   级别优先级:

   就近原则:项目级别优先于系统用户级别

   如果只有系统用户级别的签名,就以系统用户级别的签名为准

查看状态:git status(查看工作区、暂存区状态)

 往暂存区添加文件:git add 文件名(将工作区的新建/修改操作的文件添加到暂存区)

 从暂存区删除文件:git rm --cached 文件名

 往本地库提交文件:git commit (-m "提交的信息") 文件名(将暂存区的内容提交到本地库)

 查看版本记录:git log

简洁方式:1、git log -- pretty=oneline

   2、git log --oneline(只显示回退后的版本,不显示回退钱的)

   3、git reflog

前进后退版本:

 基于索引值(推荐):git reset --hard 索引值

 使用符号(只能往后退):git reset --hard HEAD(不加值默认为1,加两个为2,加三个为3)

 使用~符号:git reset --hard HEAD~值(值为1表示回退1个版本,值为2表示回退2个版本)

 注意:

  reset命令的三个参数的对比:

  --soft:仅仅在本地库移动HEAD指针

  --mixed:在本地库移动HEAD指针,重置暂存区

  --hard:在本地库移动HEAD指针,重置暂存区,重置工作区

永久删除文件后找回:

 前提:文件存在时的状态已经被提交到了本地库。

 使用git reset -- hard控制指针回退到某个没有删除的版本即可。

比较文件差异(和暂存区的文件比较):

 git diff 文件名,不指定文件名时表示和所有文件比较

比较文件差异(和本地库的文件比较):

 git diff HEAD 文件名,不指定文件名时表示和所有文件比较

比较文件差异(和历史版本的文件比较):

 git diff HEAD^ 文件名,不指定文件名时表示和所有文件比较

回退修改:修改了文件,但没有提交到暂存区(将文件版本回退到最近一次提交的版本):

 git checkout -- 文件名

回退修改:修改了文件,并且已经提交到暂存区(将文件从暂存区中删除):

 git reset HEAD 文件名

将以上两条命令组合使用(先使用git reset HEAD,再使用git checkout -- 可以将提交到暂存区的文件恢复到最近一次提交的版本),可以实现回退修改,也可以实现回退删除

分支

分支简介:

 分支是从主干直接复制出来的,也就是说,分支的第一个版本是主干的某一个版本。

 分支开发完毕,则可以和主干进行合并。

分支的好处

1、同时并行一个项目的多个功能开发,提高开发效率。

2、如果某个分支开发失败,不会对现有项目(主干)造成影响。

分支命令

查看当前分支:git branch

创建分支:git branch

切换分支:git checkout

创建+切换分支:git checkout -b

合并某分支到当前分支:git merge

删除分支:git branch -d