Git介绍以及基本操作


介绍

Git优势

  • 大部分操作在本地完成不需要连网;

Git是分布式的管理工具,本地就有一个仓库并保存了完整的版本历史,大部分操作在本地就可以完成,这是传统的集中式管理工具无法做的;

  • 完整性保存

Git会对每一次保存的数据进行Hash算法并将Hash值保存,只要文件不变Hash值就不变,因此操作文件时只要对Hash值进行对比就可以判断文件是否变化,防止数据传输过程中的损坏,很好的保存了文件的完整性;

  • 尽可能添加数据而不是删除或修改数据
  • 分支操作非常快捷流畅:随后将详细展开
  • 与Linux命令全面兼容

Git和代码托管中心

谈论Git时避免不了经常要提到GitHub,GitHub就是一个代码托管中心;Git在本地有一个本地仓库,相对于本地库  代码托管中心是一个远程代码库;常见的代码托管中心有:GitlabGitHub码云;在局域网中可以通过Gitlab搭建自己的代码托管中心,在外网环境中可以通过GitHub或者码云搭建托管中心;


Git命令行操作

设置签名

  • 签名的形式:

姓名:xyz

邮箱:[email protected]

注意点:签名仅仅是作为不同成员的身份标识,它和登录远程仓库的账号、密码没有任何关系

  • 签名的作用:区分出项目组中不同成员的不同身份
  • 签名级别:

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

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

  • 签名优先等级

1.项目级别优先于系统用户级别,二者同时存在时采用项目级别;

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

3.二者都没有,操作仓库时Git会报错;

  • 设置项目级别签名

命令:

git config user.name xxx

git config user.email [email protected]

设置的签名存放在.config文件中,可以通过"cat  .config"命令查看已设置的项目级别的签名,如下:

  • 设置系统用户级别签名

命令:

git config --global user.name xxx

git config --global user.email [email protected]

与项目级别签名存放的位置不同,系统级别的签名存放在根目录下的.gitconfig文件中,可以通过"cat ~/.gitconfig"命令查看已设置的系统级别的签名,如下:

显示历史记录

  • git log: 查看历史版本,提交信息;
  • git log --pretty=oneline (git log --oneline): 一行显示历史记录;

  • git reflog: HEAD@{数字} --> 数字表示要回滚到相应版本所需要的步数;

版本控制、删除文件找回

  • git reset --hard <索引值>:将版本切换到索引值对应的版本,可前进、后退;

reset 三个参数对比:

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

--mixed:会在本地库移动指针,重置缓存区;

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

文件比较

  • git diff :和缓存区中的文件进行对比,显示所有改变的文件;
  • git diff <文件名>: 只显示当文件与缓存区文件进行比较的变化;
  • git diff  <指针位置> <文件名> :和历史记录中的某个版本进行比较;

分支操作

  • git branch <branch name>:拉取分支branch name;
  • git checkout <branch name>:切换分支branch name;
  • 合并分支:

           ①切换到接受合并的分支:git branch <branch name>;

           ②将被合并的分支merge到当前分支:git merge <branch name>;

猜你喜欢

转载自blog.csdn.net/XU906722/article/details/81750295