首页 > 其他分享 >Git_基本操作以及思考

Git_基本操作以及思考

时间:2023-11-08 19:22:19浏览次数:36  
标签:文件 Git 思考 -- 命令 git 提交 基本操作

git 重新理解

工作区域--执行状态
 工作区、暂存区(也可称为索引区)和版本区
    工作目录 / The working directory
    暂存索引 / Staging Index   查看命令:git ls-files
     git status 的结果就是作区和暂存区两者的差别即内容不一致的地方。
 状态:
   已修改(modified)、已暂存(staged)、已提交(committed)
  git checkout--文件名  撤销工作区改动
 0. .gitignore 中的文件会被忽略git status 命令,列出被忽略的文件,具体命令如下:git status --ignored
 1.untracked
   没有被追踪的文件,现在,我们使用 git add 命令,追踪修改的文件
   执行 git add 命令将文件从工作区添加到暂存区里面,
     Git 会把帮助我们生成一些 Git 的对象,它存储的是文件的内容和文件类型并不存储文件名称
	<<<----- (use "git reset HEAD ..." to unstage)  
 2.将其提交到代码仓库(本地),而其命令就是 git commit
  查看历史-- 交历史 / Commit history--  执行 git log 将显示 Commit History	
   <<<----- git reset 和 git checkout

 3.多次提交会形成一个线性节点链
  C2节点包含C1提交内容,同样C3节点包含C1、C2提交内容

 4.推送


 5.分支整合
    merge 与 rebase 都是非常强大的分支整合命令
   :合并(merge)以及变基(rebase
      交互式变基 (git rebase -i)、
      合并提交 (git merge --squash) 和重写提交 (git commit --amend) 	 
  
  merge 遇见冲突后会直接停止,等待手动解决冲突并重新提交 commit 后,才能再次 merge
  rebase 遇见冲突后会暂停当前操作,开发者可以选择手动解决冲突,
     然后 git rebase --continue 继续,
	      或者 --skip 跳过(注意此操作中当前分支的修改会直接覆盖目标分支的冲突部分),
		  亦或者 --abort 直接停止该次 rebase 操作


 6.其他
 .Branch 和 HEAD 
    HEAD分离的状态 (detached HEAD)
    HEAD引用和当前分支的引用		
  untracked   unmodified modified
  added       deleted renamed copied
  updated but unmerged ignored


pull 的本质就是fetch+merge
  git  merge 和

git 背后

Git 仓库中有五个对象:
    三个 blob 对象(保存着文件快照)、
    一个 树 对象 (记录着目录结构和 blob 对象索引)
     以及一个 提交 对象(包含着指向前述树对象的指针和所有提交信息
	 
 创建新分支的呢?即创建了一个可以移动的新的指针
 一个名为 HEAD 的特殊指针--》HEAD 指向当前所在的分支
 
 压扁提交(squash commits)--git-squash
 命令是 git rebase  ,该命令能将所有提交最终合并为一个提交

git

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET https://example.com/api/users?query={"name":"John","age":"30"}

# 指定克隆远程分支 `/develop/branch_1## 标题`
> git clone -b /develop/branch_1 [email protected]/ghimi/hello.git

>> git  check out	 
  git checkout -t origin/develop/branch_1 在本地创建分支并追踪同名的远程分支

标签:文件,Git,思考,--,命令,git,提交,基本操作
From: https://www.cnblogs.com/ytwang/p/17818111.html

相关文章

  • gitlab搭建后 用户头像不显示问题(已解决)
    参考官方解决方案地址: https://docs.gitlab.com/ee/administration/libravatar.html1.vi/etc/gitlab/gitlab.rb2. 配置文件增加如下所示的plain_url,保存并退出 3.停止gitlab服务gitlab-ctlstop4.重新加载配置文件 gitlab-ctlreconfigure5.配置加载正常后重......
  • 使用 TortoiseGit 在两个项目之间共享代码(cherry-pick)
    需求:项目A需要新增项目B的部分代码,要求不变更commitmessage信息做法项目A新增上游Remote,RemoteURL为项目B的URL新增方式:依次点击项目A文件夹内右键→TortoiseGit→Settings→Git→Remote,输入上游名称和URL点击确定后,TortoiseGit会询问是否为其禁用T......
  • Git拉取失败 Your local changes would be overwritten by merge.Commit, stash or re
    今天在使用Gitpull代码的时候,出现了这样的问题:GitPullFailedYourlocalchangeswouldbeoverwrittenbymerge.Commit,stashorrevertthemtoproceed.这是因为本地有文件改动未提交,并且该文件和Git服务器最新版本有冲突,此时pull更新就会提示错误,无法更新。Git小......
  • 从一个git仓库拷贝到另一个git仓库(最详细)
    利用git从一个仓库拷贝一个项目到另一个仓库,并且log(日志记录)也能够一起过去。注意:目标仓库可以新建一个;如果用自己曾经用过的仓库里面的文件会被覆盖1、从原地址克隆一份裸版本库gitclone--barehttp://....(原始仓库地址)–bare创建的克隆版本库都不包含工作区,直接就......
  • [Git]常用命令整理(自用,用到哪整理到哪)
    gitadd.   暂存所有更改gitcommit-m'描述'gitpushgitpullgitbranch新分支名          以当前分支内容,新建一个分支gitbranch-m旧名字新名字 合并某个分支的内容到本分支下:gitcheckout发起合并的分支名     (切换分支)gi......
  • HelloGitHub 社区动态,开启新的篇章!
    今天这篇文章是HelloGitHub社区动态的第一篇文章,所以我想多说两句,聊聊为啥开启这个系列。我是2016年创建的HelloGitHub,它从最初的一份分享开源项目的月刊,现如今已经成长为7w+Star的开源项目、1w+用户的开源社区、全网50w+的自媒体。我本是一名普通的程序员,三流的技......
  • centOS6.5 gitlab安装 记录
    很久很久以前的服务器系统版本是centOS6.5感觉会有坑上篇yum源下载问题已解决记录下安装gitLab的过程:安装C编译器yum-yinstallgcc(查下系统里面是否有安装)1.安装配置依赖项sudoyuminstall curl openssh-serveropenssh-clientspostfixcronie2.启动postfix邮......
  • 如何使用git将某个文件回退到历史版本
    1.查看提交历史gitlogcommit4fe5108e0ca86d439f0da61751fac5845ec64f5c3commit38f9efd1f004996330a78c4b78372ba7c37469892commit5617205b96685ee157b67f3d66c71aa24cc378601会出现一些commitid2.找到需要回退的文件路径,如api/v2/s.php3.开始回退,要把api/v......
  • git 回滚版本
    //1.回滚到上一次版本gitreset--hardHEAD^//2.同步到远程master,使之生效gitpush-f==========https://www.runoob.com/git/git-reset.html$gitresetHEAD^#回退所有内容到上一个版本$gitresetHEAD^hello.php#回退hello.php文件的版......
  • git将本地文件上传到远程仓库
    git将本地文件上传到远程仓库#####要记住!>上传代码之前,一定要先下拉代码,如果有**冲突**(你和别人同时修改了某一个文件的某一行代码),那么就要先**解决冲突**,才能提交!------####这里以将自己的本地文件上传至git仓库为例1、首先进入需要上传的文件夹,鼠标右键点击**GitBashH......