Git 理解修改】的更多相关文章

参考链接:https://www.liaoxuefeng.com/wiki/896043488029600/897884457270432 Git之所以比其他版本控制系统设计得优秀,就是因为Git跟踪并管理的是修改,而非文件. 比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 练习(为了理解管理的不是文件,是修改) 练习的结论:每次修改,如果不用git add到暂存区,那么这次修改就不会…
Git remote 修改源 git commit -m "Change repo." # 先把所有为保存的修改打包为一个commit git remote remove origin # 删掉原来git源 git remote add origin [YOUR NEW .GIT URL] # 将新源地址写入本地版本库配置文件 git push -u origin master # 提交所有代码 git remote set-url origin remote_git_address…
Git 撤销修改 增补提交 git commit –C HEAD –a --amend -C表示复用指定提交的提交留言,这个例子中是HEAD,实际上可以指定其他有效的提交名称. 如果参数是小写的-c,就会打开预先设置好的编辑器,以便在已有的提交留言基础上编辑修改. 增补提交只能针对最后一个提交,如果想更正好几个提交之前的某个错误,则须使用git revert这个命令. 反转提交 反转已经提交的改动,使用git revert命令,此命令通过在版本库中创建一个“反向的”新提交来抵消原来提交的改动.…
  git rebase 使用总结: 使用git rebase 修改以前已经提交的内容 比如要修改之前的commit的 hashcode为:187f869c9d54c9297d6b0b1b4ff47d2ec781a55e 1,git rebase 187f869c9d54c9297d6b0b1b4ff47d2ec781a55e^ --interactive --退回到要修改的commit的前一个点上,执行后,git会调用默认的vi编辑器显示commit到最新commit的所有记录,把我们要修改的…
对于恢复修改的文件,就是将文件从仓库中拉到本地工作区,即 仓库区 ----> 暂存区 ----> 工作区. 对于修改的文件有两种情况: 只是修改了文件,没有任何 git 操作 修改了文件,并提交到暂存区(即编辑之后,gitadd但没有gitadd但没有 git commit -m ....) 修改了文件,并提交到仓库区(即编辑之后,gitadd和gitadd和 git commit -m ....) 情况I: 只是修改了文件,没有任何 git 操作,直接一个命令就可回退: $ git chec…
使用的gitea项目管理git 服务器 (可以不用备份项目, 通过直接修改gitea配置, 直接使用) 步骤1 可以直接访问项目, 步骤2 ,如果已有项目IP地址固定为192.168.1.x, 新的IP为192.168.1.Y 修改.git 的config 文件,就可以直接继续使用该项目(pull, push, conmit 等等) 步骤1.在gitea 配置目录 修改D:\git\custom\conf [server] SSH_DOMAIN = localhost DOMAIN = loca…
现象: idea git项目修改后无法提交   修改后的文件提交时不显示  颜色都是灰色 分析问题出现的原因: git未识别idea下项目. 排查: 发现是因为这个项目之前是基于svn的,然后直接导入到idea工程,idea自动识别为svn工程导致.改下配置即可.具体如下: 打开idea 选择左上角File--->Settings--->找到Version Control 如图:将这里的Subversion提交方式换成git就行了.…
以前从来没听过GIT,根本不知道是什么东西.老师突然让注册一个GIT帐号,不知道怎么注册, 真有点不知所措了,又听说是全英文的,感觉也是醉了!登录进去看了看,看的似懂非懂,自己 也不敢妄下定论于是上网查了查,以下是我做的摘要: GIR是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目. GIT是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目管理.了 解帮助管理Linux内核开发的一个开放源代码的版本控制软件. TORVALDS开始着手开发GIT是为…
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version control system. Git is free software. 现在,运行git status命令看看结果: $ git status # On branch master # Changes not staged for commit: # (use "git add <file&…
一.git用的3个工作的状态的理解. 1. 工作区 workspace(modified); 2. 暂存区 stage(staged) ; 3. git本地仓库 repository(commited) 二.git安装完毕后的配置文件的基础设置 1. git config --global user.name "biangz"       git config --global user.email "xxxx.com" 2. 查看git配置文件的信息命令. 1)…
用户名和邮箱地址的作用用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变.每次commit都会用用户名和邮箱纪录.github的contributions统计就是按邮箱来统计的.查看用户名和邮箱地址:$ git config user.name$ git config user.email修改用户名和邮箱地址:$ git config --global user.name "username"$ git config --global user.email "e…
今天发现一个项目的git commit message中的单词拼错了,需要修改一下.但这样简单的修改,需要通过git rebase才能完成. 首先要git rebase到需要修改message的那个commit的前1个commit.假设commit id是32e0a87f,运行下面的git rebase命令: git rebase -i 32e0a87f 在git bash中运行上面的命令后,会弹出编辑框,在编辑框中会分行依次显示以pick开头的这个commit之后的所有commit messa…
现在假设你一经常我了暂存区的概念 , 下面我们将要讨论的就是 , 为什么 Git 比其他的版本控制系统设计的优秀 , 因为 Git 跟踪管理的是修改而非文件 什么是修改  ? 修改就是 你在某个地方 新增了一行 , 删除了一行 , 或者修改了 某一行的内容 . 包括创建一个新的文件也是修改 .   下面我们试验一下证明 跟踪管理的是内容 . 现在我们讲 readme.txt 新增加一行 ,  " 我是新增加的一行  " xpower@xpower-CW65S:~/learngit$ g…
撤销修改 1.如果当你修改了代码,然后又发现修改错误以后,想撤销前面的操作的时候该怎么办呢? 既然错误发现得很及时,就可以很容易地纠正它.你可以删掉最后一行,手动把文件恢复到上一个版本的状态.如果用 git status 查看一下: 你可以发现,Git会告诉你, git checkout -- file 可以丢弃工作区的修改: 2.如果当你修改了代码,已经add到暂存区而没有进行commit操作的时候,想撤销前面的操作的时候该怎么办呢? Git同样告诉我们,用命令 git reset HEAD…
有些时候我们可能需要批量修改提交历史,当然了,最近一次的提交历史很简单我们可以利用 git commit --amend 来进行最近一次提交的修改,如果你此时想要更新作者提交时间等也可以在amend之后加上 --date="$(date -R)" 但是很多时候我们需要更改的往往不是一条两条提交信息,有些时候需要批量更改提交历史,这个时候我们就可以用到git rebase -i(--interactive)这个选项了. 首先第一步,你需要确定你需要更改历史的范围,比如A-B-C-D,你此…
在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交: $ git add test.txt $ git commit -m "add test.txt" [master 94cdc44] add test.txt 1 file changed, 1 insertion(+) create mode 100644 test.txt 一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了: $ rm test.txt 这个时候…
为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件. 新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 为什么说Git管理的是修改,而不是文件呢?我们还是做实验.第一步,对readme.txt做一个修改,比如加一行内容: $ cat readme.txt Git is a distributed version control system. Git is fre…
我们将仓库里的readme.txt文件修改一下,改成如下内容: Git is a distributed version control systemGit is free software. 运行git status命令查看一下结果: $ git statusOn branch masterChanges not staged for commit: (use "git add <file>..." to update what will be committed) (u…
用户名和邮箱地址的作用 用户名和邮箱地址是本地Git客户端的一个变量,不随git库而改变. 每次commit都会用用户名和邮箱纪录. github的contributions统计就是按邮箱来统计的. 查看用户名和邮箱地址: $ git config user.name $ git config user.email 修改用户名和邮箱地址: $ git config --global user.name "username" $ git config --global user.emai…
今天在使用git提交代码的时候,犯了个很低级的错误,按照一切流程当我add并commit提交代码,最后使用push到远程仓库, 接下来奇怪的事情发生了,push之后,查看远程仓库代码并没有发现提交记录,emmmm~ 此时我内心是不淡定的,什么他妈的鬼?我提交的代码去哪里了 ? 正好此时,赶上运维升级服务器,以为是服务器的问题,等服务器升级完再试一试. MD,服务器升级完了,再次push在远程仓库仍然无法看到提交记录,在本地使用git -log查看提交记录, 草,这不是有提交记录吗,真是见了鬼了哦…
1.起因 大家写的代码不可能直接保存在根目录下,但是Git Bash每次一打开就是根目录,每次都要切换路径很麻烦. 2.修改Git Bash默认打开位置 1)Git Bash右键 -> 属性 2)修改2栏内容 删除目标中的--cd-to-home 把起始位置改成自己的工作路径 3)重启Git Bash即可…
Git头像分两种: 第一种是直接在你当前托管的git服务网站中自定义上传头像 第二种通过第三方网站修改,基本上所有git服务网站都遵循这点,下面说的就是该模式 其实很简单!!! https://zh-tw.gravatar.com/ 复制上门的网址 gravatar.com 网站注册一个账号! 使用 git 服务 同名 的邮箱!!!重点,必须和 git 用户邮箱一致! 在网站中上传头像,保存成功,稍等片刻!刷新你的git服务网站!!神奇的事情就发生了!! 如果有新的git账号头像需求!直接在已有…
1. 情况是这样的,为了安全起见,我们的服务器ssh连接端口改为了33 sudo vi /etc/ssh/ssh_config port  33 2. 因为git是基于ssh发送数据的,并且git服务器的默认端口是22,所以要修改git的默认连接端口 sudo vi /etc/ssh/ssh_config 在host * 之前加入 host xxx.com hostName xxx.com port 22…
// 撤消本地文件的修改,还原到最近版本 git checkout -- * 是撤销从上次提交之后所做的所有修改 git checkout -- <filaname> 是撤销从上次提交之后的单个文件的修改 // 取消已暂存文件(撤销先前"git add"的操作) git reset HEAD <file> // 修改最后一次提交.用于修改上一次的提交信息,或漏提交文件等情况. git commit --amend // 回退所有内容至上一个版本 git rese…
现在,假定你已经完全掌握了暂存区的概念.下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件. 你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 为什么说Git管理的是修改,而不是文件呢?我们还是做实验.第一步,对readme.txt做一个修改,比如加一行内容: 然后,添加: 然后,再修改readme.txt: 提交…
在一些公司项目中,常常要求git注释提交的时候加上前缀,比如JIRA号,但是有的时候我们常常会忘了 如果用source tree等一些工具,会推送到本地仓库一半,但远程又上不去. 这个时候我们就需要强制修改本地仓库的注释 然后再重新推送一下 修改方式: 1. 命令行进入项目根目录 2. 执行命令: git commit --amend 3. 进入vi 修改注释,然后wq!保存 4. 再次推送代码,就都ok了…
目录 简述 解决过程 简述 git提交历史中有一次提交的内容是有问题,因为每隔一段时间就要发一次版本,所以必须修改这次提交的内容,以便其不影响已经发布的版本. 大概是这样子的 A --- B ---- C ---- D ---- E ----- F ------ | \ \ 有问题 \-----发布 \---- 发布 所以这里需要修改C这次提交的内容. 解决过程 相关的操作可以参考7.6 Git 工具 - 重写历史 这里我创建了一个新的仓库,用来描述解决这个问题的过程. 1.先看一下提交记录 $…
用户名和邮箱地址的作用 用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变. 每次commit都会用用户名和邮箱纪录. github的contributions统计就是按邮箱来统计的. 修改密码 git config --global credential.helper store (输入这个命令后,以后只要在输入一次用户名密码) 查看用户名和邮箱地址: $ git config user.name $ git config user.email 修改用户名和邮箱地址: $ git…
首先,我们创建change.sh脚本,并根据个人信息复制以下脚本. #!/bin/sh git filter-branch --env-filter ' OLD_EMAIL="填写原来的邮箱" CORRECT_NAME="填写现在的名称" CORRECT_EMAIL="填写现在的邮箱" if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ] then     export…
管理修改 现在,假定你已经完全掌握了暂存区的概念.下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件. 你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 为什么说Git管理的是修改,而不是文件呢?我们还是做实验.第一步,对readme.txt做一个修改,比如加一行内容: test git modify second…