首页 > 其他分享 >git+github使用记录

git+github使用记录

时间:2023-04-14 21:44:24浏览次数:40  
标签:git 查看 记录 暂存区 github 日志 主支 分支

本文跟进尚硅谷的git教程。

1.git 遵循原则:没有提示就是最好的提示[doge]

2.git 的几个基本概念:工作区  暂存区 本地库 远程仓库

  工作区即为代码存在的位置。

  暂存区即为进行 git add后代码更新到的位置。工作区和暂存区的代码内容均可更改删除。

  本地库即为进行git commit后生成的历史版本,一旦到本地库就会生成历史版本记录,不可更改本地库中的东西

  远程仓库,一般为代码托管平台等,包括github、gitee,gitlab等

3. git 中复制为 ctrl+Ins    粘贴为 shift+Ins 或鼠标滚轮按下。

4.操作

一、在本地新建文件夹。

二、进入文件夹后进行git bash

三、使用命名git init 进行仓库的初始化

 

 四、查看仓库状态:git status

 

 第一条日志记录说明当前在主分支(master),一般默认主分支的名称为master

第二条日志说明没有东西提交到本地库。

第三条日志

五、在往git bash 的文件夹中添加新文件后使用git status查看状态

 

 红色即为未提交的文件名称。

六、将新文件添加到暂存区 gir add <file_name>,然后查看git status如下

 

 日志的前两条没有改变,只有第三条发生改变。

七、删除暂存区中文件 git rm --cached<file_name>

执行完命令后查看状态 git status如下

 

 八、将暂存区文件提交到本地库,形成历史版本

  git commit -m "日志信息" <file_name>

 

  然后git status查看状态

 

  发现日志变成两行,第一行说明仍在主支上,第二行说明已经有东西提交到本地库,没有文件需要提交

九、查看版本信息,包括两条指令可以选择

  git reflog或git log

其中,git log显示详细日志信息,如下图

 

 HEAD -> master说明当前指针指向主支,开头的5861309为版本号的前七位,完整版本号在git log 显示的信息里面,最后面的冒号后为提交时的日志信息

十、修改文件。

我在我的工作区(代码存在的地方)对代码进行了更改,然后用git status 查看如下

 

 红色说明文件的修改还有被添加到暂存区

然后再次重复提交到暂存区和本地库,更新提交日志信息如下

 

注:查看均以行为单位,一次删除+一次插入=一次修改 

再次查看状态

 

再次查看日志信息 git reflog

 

 发现此时有了两个版本且当前指针指向最新版本

十一、历史版本与版本穿梭

 先查看版本号:git reflog 或 git log

 然后使用命令进行版本穿梭 git reset --hard <版本号>      注:可以是版本号的前七位

如下

 

 然后使用git reflog再次查看日志,发现有移动记录。

快捷键:复制是左键两次或ctrl+Ins,粘贴是鼠标滚轮按下或shift+Ins

十一、分支

分支操作命令如下

 

 1.查看分支 git branch -v   结果如下

 

 这说明当前只有一个主支 master 。

2.创建一个新分支  git branch <分支名称>   ,结果如下

 

 然后再次查看分支,结果如下

 

 第一行的蓝色字体说明当前仍然在master主支上,这一点也可从下面的绿色标识看出。

3.切换分支  git checkout <分支名>   或者 git switch <分支名>  然后查看分支,结果如下

 

 然后我们现在对分支做一些修改

查看状态如下

 

 然后再次进行提交到暂存区和本地库,并查看状态及提交日志如下

 

 然后切换回主支,查看我的文档状态。结果主支的内容确实没有发生改变。即分支的任何提交都不会影响主支,除非发生合并。

 

 十二、合并分支(正常合并+冲突合并)

使用命令 git merge <分支名>   含义:将<>内的分支合并到当前指针指向的分支。

比如,我现在是在我的主支上,执行命令后,我将把我的分支 another_type 合并到我的主支上来。

正常合并就会到此结束,这里我显示了冲突合并,因为我的分支和主支都做了修改,git无法决定保留哪个修改方案。如下

 

 冲突只能手动解决,或者先放弃,即git merge --abort   再去想别的办法

实际中最好还是只更改一个就好。

十三、push到github

 

 

 

 

 就先到这里吧。

标签:git,查看,记录,暂存区,github,日志,主支,分支
From: https://www.cnblogs.com/chfanyang/p/17311869.html

相关文章

  • 问题记录:BMap api is not loaded
    原因:mounted初始化时,异步问题导致百度api未引用完就初始化了。解决:修改引入方式,之前在index.html的head引入script标签,现在新建map.js文件。exportfunctionloadBMap(ak){returnnewPromise(function(resolve,reject){if(typeofBMap!=='undefined'){......
  • MAUI之Android记录设备号+动态授权
    一、获取Android唯一标识的方法android10以前的版本可以通过获取imei得到设备的唯一标识,但是android10以后的系统已无法获取到imei。那么我们该如何确定设备呢?查阅了一些资料,个人看来下面的方法最为稳妥:通过在app外部保存一个guid,每次打开app时读取该guid确定为设备号。保存......
  • 常用的Git命令及示例
    目录01gitinit:初始化一个空的Git仓库02gitadd将修改添加到Git仓库暂存区03gitcommit将修改提交到Git仓库04gitpull从远程Git仓库拉取最新的代码05gitpush将本地代码推送到远程Git仓库06gitbranch创建和管理Git分支新建分支查看分支删除分支07gitcheckout切......
  • Git提交代码仓库的两种方式
    目录一:两种本地与远程仓库同步1git远程仓库提交本地版本库操作提交到远程版本库操作1.Git全局设置:2.增加一个远程仓库地址3.查询当前存在的远程仓库5.本地版本库内容提交到远程仓库6.查询远程仓库注意:本地版本库提交到远程仓库用户名密码存放位置远程仓库操作本地仓库与远......
  • Git GUI 中文文件名乱码
     GitGUI中文文件名乱码  在GitGui界面选择Edit-Options(对应中文编辑-选项),"默认文本内容编码方式"选择"Unicode(UTF-8)"即可                   REFhttps://www.jianshu.com/p/4b61731d0de6......
  • 大道至简:Python奇技淫巧记录 | 语法糖分析
    目录0.内置函数enumerate1.zip妙用2.Python传参0.内置函数enumerate偶然看到别人题解中fori,iteminenumerate(arr)的写法,非常方便。在需要获取元素index而又不关心数组长度情况下,推荐这种写法,节省了两行代码!否则:n=len(arr)foriinrange(n):item=arr[i]......
  • 为github项目添加优秀的自述文件
    sudoapt-getupdatesudoaptinstallnpmnpxreadme-md-generator参考资料:https://github.com/kefranabg/readme-md-generator......
  • linux中systemctl管理go服务 (gin)git部署
    go安装下载 https://golang.google.cn/dl/解压至指定目录,一般到/usr/localsudotar-C/usr/local-xzfgo**.linux-amd64.tar.gz设置环境变量#修改~/.bashrc文件$sudogedit~/.bashrc#在该文件最后一行插入$exportPATH=$PATH:/usr/local/go/bin$source~/......
  • mongodb 获取集合所有记录中曾出现过的字段
    switchtothedbyou'reusingandtype:mr=db.runCommand({"mapreduce":"myCollectionName","map":function(){for(varkeyinthis){emit(key,null);}},"reduce":function(key,stuff){ret......
  • git中 commit 和 pull 的先后顺序问题会产生多余的merge记录
    commit和pull的先后顺序问题最近提交代码,发现一个问题。自己很清楚的记得本次的提交是没有进行合并的。奇怪的死gitlab中的history历史中显示了我对本次进行了Merge合并操作。并且Merge合并操作中显示了很多不是本次对代码的修改。这就很明显了,git自动生成的merge操......