栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

git相关内容

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

git相关内容

        

        上图展示了工作区、版本库和暂存区(index)之间的关系。对工作区进行修改,然后git  add进行提交时,暂存区被修改。使用git  commit进行提交时,暂存区的目录树写到objects中,master分支也会做出对应的更新。

         当执行git  reset  HEAD命令时,暂存区的目录树会被HEAD(HEAD总是指向当前的工作分支)指向的master分支的目录树所替换,但是工作区不会受到影响。

         当执行git  rm  - -cached + filename命令时,会直接从暂存区删除文件,工作区则不会有改变。

         当执行git  checkout . 或者 git  checkout + - -filename 命令时,会用暂存区全部或指定的filename文件替代工作区全部或者对应的文件。

         当执行git  checkout  HEAD . 或者 git  checkout  HEAD + filename 命令时,会用HEAD指向的master分支中的全部或者指定的文件filename,替换暂存区以及工作区中对应的文件。

上图展示了执行几个关键命令之后代码的提交情况。

git  init  初始化当前目录为Git仓库。

git  init  + filenema  初始化filename为Git仓库

git  add  + filename  告诉Git开始对filename代指的文件或文件夹进行跟踪

git  commit  -m + ‘备注内容’   将缓存区中的内容提交到本地仓库(master分支),并以单引号或双引号中的内容作为注释

git  status  查看仓库当前的状态,显示有变更的文件

git  status  -s   精简的输出仓库当前状态,精简输出仓库状态时,会用状态码来描述文件的状态。

A:表示本地新增的文件(服务器上没有)。C:文件的一个新拷贝。D:本地删除的文件(服务器上还在)。M:文件的内容或者mode被修改了。R:文件名被修改了。T:文件的类型被修改了。U:文件没有合并(需要完成合并之后才能提交)。X:位置状态

git  diff   默认比较工作区和暂存区的差异

         比较文件的不同时,删除的语句前面用 ’- ’ 标志,增加的地方用 ‘+’ 标志。修改某一行时,可以理解成先将原来的那一行先删除然后再增加。

git  diff + commit-id  比较工作区和指定commit-id之间的差异。

git  show + 版本号  该命令可以查看版本号对应的提交记录

git  branch  查看本地拥有的分支

-r参数查看远程分支  -a参数查看所有分支

git  branch  +  name   以name为名称,创建分支

         创建一个分支test时。如果当前分支没有未跟踪或者需要提交的内容,那么test分支就和当前分支相同。如果当前有未跟踪的或需要提交的内容,那么之后在哪个分支下进行提交commit,内容就会保存在哪个分支下面。

git  branch  -d + name  删除分支name

         如果删除分支时,被删除的分支没有合并则会出现警告,将-d选项改为-D选项就能强制删除分支。   

         假如当前有master分支和test分支,修改了文件之后,在test分支下commit提交了修改,那么在test分支下的工作区能够体现该修改,切换到master分支下时,无法体现该修改。

         注意:在某个分支下作了修改之后,必须在该分支下commit之后才能切换到其它分支下工作。

git  checkout  + name  切换分支到name

git  checkout  -b + name  以nema为名称创建分支,并切换到该分支

git  merge  + name  将当前分支和分支name进行合并

         当分支合并没有冲突时,会直接合并,且自动提交到当前分支。当分支合并出现冲突时,合并会失败。这时候就需要手动去修改合并的内容,在修改完冲突文件之后,可以通过git  add + filename来告诉Git文件冲突已经解决,然后再使用git commit命令提交合并就可以了。

git  log  列出历史提交记录

git  log  - -oneline 列出历史记录的简洁版

git  log  - -graph  查看历史中什么时候出现了分支、合并。

git  log  - -reverse  逆向显示自己想要显示的历史记录

git  log  - -author=name  -5 只显示用户name历史记录中的前五条

显示周三之前且在2010.4.18号之后的历史记录,不含合并提交

git  log  - -before={3.weeks.ago}   - -after={2010-04-18}  - -no – merges

git  log  blame + filename  以列表形式显示修改记录

参数:- -decorate显示标签

 

git  tag  -a + 注解  给最新的一次提交打上标签,标签内容是注解的内容,不用加单引号

git  tag  -a + 注解 + 提交编号  给指定的提交编号打上标签

git  tag  列出所有的标签

git  rm  -f + filename  该命令不管工作区和暂存区是否相同,都会将文件filename强制从暂存区和工作区中删除。

版本回退

git  reset  HEAD^ 回退所有内容到上一个版本

git  reset  HEAD^ + filename 将文件filename回退到上一版本

git  reset  - -hard + commit-id 该操作会彻底会退到版本commit-id,包括本地的源码

git  reset  - -soft + commit-Id 回退本地仓库的某一次提交,暂存区和工作区不受影响

远程仓库相关

ssh-keygen  -t  rsa  在本地创建sshkey

ssh  -T git@github.com  验证是否和github服务器连接成功

向github推送时,github每次都会记录用户名和邮箱

git  config  - -global  user.name  ‘ ’  设置用户名。单引号

git  config  - -global  user.email  ‘ ’    设置邮箱。单引号

git  remote  查看当前配置哪些远程仓库

git  remote  -v  可以看到每个别名的实际链接地址

git  clone + -b + 分知名 + 远程仓库地址   克隆远程长裤的特定分支

git  clone + 本地仓库路径名  克隆本地仓库                

git  clone + 远程URL                克隆远端服务器上的仓库

         以上两个clone命令会在当前目录下创建一个名为grit的目录,且包含 .git 目录,clone下来的代码会保存所有的版本信息。如果不想使用grit文件名,可以在命令末尾添加自己想要的文件名名称。

         注意:Git 的 clone 命令会为你自动将远程主机命名为 origin

git  push  + 远程主机名(一般为origin) + 本地分支名 + 远程分支名

如果本地分支和远程分支存在追踪关系,则本地分支名和远程分支名都可以省略

如果当前只有一个远程分支,那么远程主机名、本地分支名、远程分支名都可以省略

git  fetch  从远程仓库下载新分支与数据

         使用该命令将远程的分支拉取到本地分支,然后需要再使用git  merge命令将其合并到当前分支中

新建本地仓库和远程仓库同步

git init    将当前文件夹初始化为git仓库

git  remote  add  origin  + 远程仓库URL   将URL指定的远程仓库和当前的本地仓库关联

git pull origin master    拉取远程仓库中的文件到本地仓库

git push -u origin master    本地仓库和远程仓库建立连接之后的第一次推送需要使用这条完整的push命令         

同步代码和代合并

## 在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支;

$ git fetch origin master:temp

## 比较本地代码与刚刚从远程下载下来的代码的区别;

$ git diff temp

## 合并temp分支到本地当前工作分支;

$ git merge temp

## 如果不想保留temp分支,删除;

$ git branch -d temp

分支种类

主干分支 master

开发分支 develop

bug修理分支 bugfix

准生产分支(预发布分支) release

功能分支 feature

异常解决

warning: LF will be replaced by CRLF in

windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add时会出现以上提示。解决办法是输入 git config --global core.autocrlf false 关闭提示

repo  sync + filename   同步filename下的代码

repo  status            批量执行repo管理的git的git  status

学习地址:

Git学习——简单易懂的教程_自由奔跑的风-CSDN博客_git学习

https://www.jianshu.com/p/ca475d64bbeb

如何用git创建本地仓库和远程仓库并实现连接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/270524.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号