当前位置: 首页 > news >正文

git的使用

1.git的四个区域:

在这里插入图片描述

2.常规git命令

git status 查看working directory哪些文件被更改了

在这里插入图片描述

 git add .

把更改add到staging area,缓存的地方。改一个地方可以就先暂存一下,最后确认是哪些改动后再一起commit,以免不必要的版本。
在暂存区域,如果发现有不想要的改动,可以把它从staging area中踢出来,就不用去提交,如果你提交的话,就会在仓库里面去,在某个版本上我不想要这个改动,那么需要去做revert操作,就比较麻烦,所以就需要暂存区域来保存我们当前一个临时的改变。

git commit -m "***"

在这里插入图片描述

git push origin master  推送到对应的远程主机远程分支

在这里插入图片描述

3.切换分支

切换分支的时候必须保证我们当前的分支的所有操作是commit的,就是已经产生在我们的版本库里去了,不然的话所有的改变会丢失。
而且你在切换的时候它会提醒你你有改动的东西没有commit,让你commit之后再去切换分支。
如果不想做commit这个提交,然后要去切换的话,可以使用git stash命令,这个命令会把所有的我们当前分支的改变暂存到另外个地方去(working里面)。
让你当前分支的状态保持一个没有更新的状态,从而可以切换到另外个分支上去。当你到另外个分支上去做完你的事情后再切换回来,再通过git stash这个命令把之前我暂存起来的先返回回来再继续操作。
命令:

git stash
git stash pop

4.git clone

clone之后默认会有一个master branch,会直接checkout到我们的master分支上去。创建一个分支的话,它是以我们当前指向分支的最新版本去拉一个分支。想在哪个版本上去创建分支直接把它的commit ID附上就可以了。就可以随时在某一个分支上去拉。
change了branch之后,HEAD就会改变,就会指向当前的分支。commmit了之后,HEAD也会跟着移动。

5. Git Commands

git clone <url>
git status
git log //version tree,可以查看当前branch在我们这个仓库里面的历史信息
gitk & //可视化工具查看version tree
git fetch origin ; git fetch origin master
git checkout master //切换分支到哪个分支
git checkout -b <分支名>;//创建分支并切换分支
git checkout file 取消对某个包的改动
git pull //将远端的更新merge到本地。
git pull ==> git fetch + git merge
git push origin HEAD:master //git push前最好git pull一下,确保是基于最新的
git stash
git stash pop
git branch -r //lists local branches and their corresponding upstream branches
git branch -vv //列出本地仓库和远程仓库的关联关系
git reflog 

6.gitignore文件

.gitignore 文件,可以实现选择性的上传文件到远程仓库而不是把本地仓库的所有代码都上传。
.gitignore会忽略 folderName 文件和 folderName 目录,会自动搜索多级目录。

7.git cherry-pick

8.git submodule update

.gitmodule文件中定义了module对应的url。
每个子模块都处于“分离头”状态。
待继续:git submodule update和git pull的关系。

http://www.lryc.cn/news/26550.html

相关文章:

  • webpack生产环境配置
  • linux下安装jenkins
  • IGKBoard(imx6ull)-I2C接口编程之SHT20温湿度采样
  • MyBatis——配置文件完成增删改查
  • Python内置函数 — all,any
  • Pycharm配置QGIS环境
  • 【C++】stack 与 queue
  • ARC142E Pairing Wizards
  • Spark开发实战-主播打赏排行榜统计
  • python 如何存储数据 (python 的文件和异常)
  • 第三章-OpenCV基础-8-绘图函数
  • 逆约瑟夫问题
  • MySQL之三大日志(更新中)
  • 如何使用EvilTree在文件中搜索正则或关键字匹配的内容
  • 北京移动CM311-5s-ZG_GK6323V100C_2+8_免拆一键卡刷固件包
  • JavaScript(1)
  • 阿里云云原生每月动态 | 聚焦实战,面向开发者的系列课程全新上线
  • Goby 征文大擂台,超值盲盒等你来!
  • NLP - langid 语种识别
  • liquibase学习和使用
  • redhawk:Low Power Analysis
  • 24- 深度学习的模型保存和加载 (TensorFlow系列) (深度学习)
  • 【Echarts图例点击事件】自定义Echarts图例legend点击事件(已解决)
  • uniapp-首页配置
  • 支持DDR5,超频更简单,小雕够给力,技嘉B760M小雕WIFI主板上手
  • fengMap 自定义dom 偏离实际位置;缩放时飘出地图所在区域
  • TryHackMe-黑我杯
  • 【JAVA程序设计】【C00109】基于SSM(非maven)的员工工资管理系统
  • 《计算机原理》——HelloWorld.cpp如何运行的
  • 【面试题】在JS循环中使用await会怎么样?