Linux-git(Linux内核)

一.安装

1.sudo su(管理员)-->apt install git

2.查看版本

 git version 

二. git基本概念

2.1 四个工作区

1.git本地有三个工作域:

工作区( working directory), 暂存区( stage/index), 资源库( repository) 。如
果再算上远程服务器上的 git 仓库 (remote directory) 就可以分为四个工作域。其关系如下:

Workspace : 工作区,就是你平时存放项目代码的地方
Index / Stage : 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件
列表信息
Repository : 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数
据。其中 HEAD 指向最新放入仓库的版本
Remote : 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据
交换

2.2 工作流程

git 工作的一般流程 :
1. 在工作目录中添加,修改文件
2. 将需要进行版本管理的文件放入暂存区
3. 将暂存区的文件提交到 git 仓库

2.3 文件的四种状态

Untracked: 未跟踪 , 此文件在文件夹中 , 但并没有加入到 git , 不参与版本控制 . 通过 git add 状态
变为 Staged.
Unmodify: 文件已经入库 , 未修改 , 即版本库中的文件快照内容与文件夹中完全一致 . 这种类型的文
件有两种去处 , 如果它被修改 , 而变为 Modified. 如果使用 git rm 移出版本库 , 则成为 Untracked 文件
Modified: 文件已修改 , 仅仅是修改 , 并没有进行其他的操作 . 这个文件也有两个去处 , 通过 git add
进入暂存 staged 状态 , 使用 git checkout 则丢弃修改过 , 返回到 unmodify 状态 , 这个 git checkout
从库中取出文件 , 覆盖当前修改
Staged: 暂存状态 . 执行 git commit 则将修改同步到库中 , 这时库中的文件和本地文件又变为一致 ,
文件为 Unmodify 状态 . 执行 git reset HEAD filename 取消暂存 , 文件状态为 Modified

三、git基本命令

创建本地仓库

1.创建一个目录

2.使用git init 命令将其变为一个可以通过git管理的仓库

注意事项:
第一次使用 git 命令提交代码之前,需要先设置用户名及邮箱,之后就不需要了:
其中 " you@126.com " "youname" 应替换为你后面使用的真实邮箱和名字。

3.使用git add filename 添加文件到暂存区

4.使用git status 查看仓库状态

5.使用 git commit -m "版本描述信息" 提交版本到仓库

6.使用git log查看提交的历史记录

7.使用git reflog 查看对仓库的操作日志

8.使用git diff HEAD 比较当前内容与最后一次提交的版本的差异

. 使用 git diff HEAD 比较当前内容与最后一次提交的版本的差异 , 如下在 main.c 中添加了一行内容,显示
添加的一行前面有 ‘+’ 号标识。如果内容相同则该命令不显示输出结果。 HEAD 也可以省略默认就是与最近
一次比较。

9.使用git checkout filename 放弃对工作区代码的修改。

10.使用git reset HEAD filename 从暂存区撤销

11.使用git rm filename 删除一个文件, 此时提交到暂存区,需要commit后才在版本库中删除

12.使用git reset --hard HEAD^ 回退版本

四.git分支的操作命令

1.查看分支:git branch
2. 创建分支: git branch 分支名

 

3. 切换分支: git checkout 分支名

4. 创建并切换到该分支: git checkout -b 分支名
5. 删除分支 , 不能删除当前所处分支,切换到其它分支再删除: git branch -d 分支名

6. 合并某个分支到当前分支: git merge 分支名 ,合并时可能产生冲突,需要解决冲突。

 

7. 历史记录一行显示 : git log --pretty=oneline

8. 以图表形式显示分支: git log --graph

 

9. 保护现场 git stash, 当前工作区有代码修改了,是不能切换到其他分支,可以先保存现场,再切换
10. 列出所有保存的现场信息 git stash list
11. 取出某次的现场信息,继续工作 :git stash pop "stash@{1}" , 默认是最近一次,如果有多个现场,也 可以加上编号"stash@{1}" 指定获取某一个。不同分支的现场,应该回到对应分支再获取,否则会自动合 并现场到当前分支的工作区。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果蛋蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值