git命令以及码云平台

352 阅读4分钟

1.Git与代码托管平台

1 Git 与 GitHub比较

Git :

是一个版本管理工具 , 只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,

比如你原来提交过的内容,后面虽然修改过,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误进行更改,进行还原。

是一个基于Git的远程代码托管平台(网站),可以在github上建立一个远程库,可以将本地库的代码提交到远程库,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和 习。

2 代码托管平台

局域网:

GitLab (可自行搭建)

外网环境:

GitHub

码云

2. Git 命令行操作

1.安装Git后,在资源管理器的空白处,单击鼠标右键打开窗口,点击 Git Bash Here ,打开Git命令行窗口,在窗口中可直接使用Linux命令操作

2 初始化Git本地库

注意: .git 目录中存放的是本地库相关核心配置文件,也不要随意删除与修改

.git 目录仓库目录说明:

hooks目录:脚本文件的目录。

目录:保存了不希望在 .gitignore 文件中管理的忽略模式的全局可执行文件

logs目录:日志目录

objects目录:存储所有数据内容

refs目录:存储指向数据(分支)的提交对象的指针

config文件包含了项目特有的配置选项

description文件仅供 GitWeb 程序使用

HEAD文件指向当前分支

.3 设置签名信息

作用:只为区分不同开发人员的身份信息

格式:

用户名:mengxuegu

Email:

注意:

这里的签名信息和登录远程库的帐号和密码没有任何关系(码云,Github)

命令:

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

git config user.name mengxuegu pro

git config user.email mengxuegu888@163.com

签名信息保存位置: ./.git/config 文件中

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

git config --global user.name mengxuegu_glo

git config --global user.email mengxuegu666@163.com 签名信息保存位置: ~/.gitconfig

级别优先级:

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

如果只有 系统用户级别 的签名,则采用 系统用户级别 的签名信息

二者都不存在是不允许的。

4 Git 基本操作

4.1 查看状态

用于查看工作区、暂存区的状态

1 $ git status

2

3 On branch master # 默认在master(主干)分支上

4 No commits yet # 当前没有任何的提交

5 nothing to commit (create/copy files and use "git add" to track)

6 # 没有什么需要提交的(创建/复制文件,使用“git add”命令可追踪,也就是用git去管理文件)

根据状态提示,往仓库中创建一个 demo01.txt 文件, 文件保存一些内容(按 i 插入内容, 按 :wq 保存并退出, 按 ':q!' 不保存强制退出):

1 $ vim demo01.txt

再 git status 查看状态提示 Untracked files (有未追踪文件):

4.2 添加到暂存区

将工作区的“新建/修改”添加到暂存区

命令: git add

恢复,不放到暂存区

命令: git rm --cached

4.3 提交到本地库

将暂存区的内容提交到本地库

命令: git commit [-m "提交说明信息"]

修改 demo1.txt 文件内容,再查看状态:

4.4 查看版本历史记录

显示最详细的日志信息

命令: git log 如果内容太长, 多屏显示控制方式:

空格键: 向下查看 b : 向上查看 q : 退出查看 以漂亮的格式显示:即每条日志只显示一行

命令: git log --pretty=oneline 简约的格式显示: 命令: git log --oneline 显示回滚版本步数[推荐]:

命令: git reflog

HEAD@{回滚对应版本,底层操作需要移动多少步}

4.5 前进后退版本

通过HEAD指针来移动回滚版本 基于索引值操作[推荐方式]

命令: git reset --hard <局部索引值>

举例: git reset --hard 64d3d2a 使用 ^ (异或)符号:只能后退

命令: git reset --hard HEAD^ 注:一个 ^ 表示后退一步,n 个表示后退 n 步 使用 ~ 符号:只能后退

命令: git reset --hard HEAD~n 注:n指定步数,表示后退 n 步

6 删除文件并恢复 前提:删除文件前,此文件需要已经提交过本地库,才可恢复 删除:rm 文件名.txt

命令: git reset --hard <历史记录索引值> 删除操作已经提交到本地库:指针位置指向历史记录 删除操作尚未提交到本地库:无法恢复

7 对比文件差异 将工作区中的文件和暂存区进行比较

命令: git diff <文件名> 举例:向apply.txt文件添加了两行,使用 git diff apple.txt 查看

将工作区中的文件和本地库历史记录比较

命令: git diff <本地库中历史版本> <文件名>