git操作相关

目录

前言

一、git基础操作之提交

二、git基础操作之add撤销

 三、git基础操作之commit撤销

四、gitee的邮箱和登陆账号 

五、git合并冲突   todo

六、本地生成仓库上传远程步骤

七、IntelliJ IDEA 不显示Git的解决办法

前言

一、git基础操作之提交  todo

工作区                     -->             暂存区                       -->                     本地库

          git add .或者   git add --all  或者 git add *                  git commit -m ' 备注内容 '

区别:

git add readme.txt    单独提交某个文件

git add . 将未trace的文件加入暂存区,忽略.ignore中的

git add *   不会忽略.ignore中的文件,将全部文件提交

git add --all 所有改动的文件提交到暂存区且在本地做的删除操作会被记录,提交仓库时会删除同样的文件

          git   log                查看本地commit 提交记录

本地库                  --->               远程仓库

git  push 

git pull是将远程分支的修改同步到本地,并和本地分支进行合并,所以 git pull 实际上是两个命令:

git pull     =     git fetch + git merge FETCH_HEAD

二、git基础操作之add撤销

通过git add命令将文件提交到暂存区之后,发现文件提交错了

git restore --staged                               撤销在暂存区提交的文件 

git  reset         撤销暂存区中的文件

git checkout -- <file>               撤销对文件内容本身所做的更改(add或者commit后都可以)

 三、git基础操作之commit撤销

当代码经过git commit -m 备注说明提交本地仓库之后,想要代码回滚,只是将代码撤销到暂存区之后,还未添加到本地仓库的话,只能使用--soft模式。

git log查看历次提交记录,然后根据版本号来撤销,git reset --soft 版本号

撤销代码可能只是因为注释写的不完善,想重新修改。 

      git commit --amend -m '新的注释'

四、gitee的邮箱和登陆账号 

注意有提交邮箱,若是本地idea中绑定的不是这个邮箱,则无法提交代码,gitlab也有这个问题

撤销详情参考    git代码撤销回滚只看这一篇就足够了!http://t.csdn.cn/KSSesicon-default.png?t=N7T8http://t.csdn.cn/KSSes

五、git合并冲突   todo

 合并发生冲突的本质原因是:要合并的两个分支修改了同一处代码, git不知道采取哪一个分支的代码

情景复现:

原始代码只有一个 README.md 文件,内容为:

This is first commit.

我在 master 分支上将该文件进行如下修改并提交:

This is second commit.

然后通过命令 git checkout -b dev ,新建一个 dev 分支,并切换到该分支。

修改 README.md 文件为如下内容,并进行提交:

This is third commit.

我这里在两个分支上,对同一个文件同一行进行了修改并提交。

然后切换到 master 分支上,通过命令 git merge dev ,将两个分支进行合并。

这时会提示 README.md 文件发生了冲突:

$ git merge dev
Auto-merging README.md
CONFLICT (content): Merge conflict in README.md
Automatic merge failed; fix conflicts and then commit the result.

README.md 文件中的内容自动变成:

<<<<<<< HEAD
This is second commit.
=======
This is third commit.
>>>>>>> dev

通过 ======= 将发生冲突的两部分进行隔开,表示这两部分不同内容会在文件中的相同位置。

HEAD 表示当前本地所在分支的别名,dev 表示将要将要合并过来的分支。

手动修改 READ.md 文件去掉冲突,比如修改为:

This is second/third commit.

然后使用 git add 将该文件添加到暂存区。

刚才遇到冲突后,merge 过程就被中断了,现在使用git merge --continue 继续合并过程。这时会弹出文本编辑界面,需要编辑内容作为 commit 信息。

编辑结束,保存 commit 信息后,冲突就被解决了,且合并过程也完成了。

六、本地生成仓库上传远程步骤

1. 远程建立好仓库,本地建好项目,选择VCS - > Import into Version Control -> Create Git Repository

选择本地路径中的代码存放位置,即将此文件夹设置成本地代码仓库,文件夹中有git即成功

若没有的话,在此文件夹中的空目录下,通过使用git init 命令把这个目录变成Git可以管理的仓库

2. 第一次提交,Push前需要指定远程仓库的地址。如下图,点击Define remote后,在弹出的窗口中输入远程仓库地址。

或者使用命令git remote add origin <远程仓库路径>

将我们的远程仓库在本地git中取个名为origin的别名。

然后使用git push origin master:master命令提交到远程仓库

3. 进行push或者pull报错

解决: 

        git pull <remote> <branch>

为分支设置跟踪信息:

        git branch --set-upstream-to=origin/<branch> master

报错refusing to merge unrelated histories

        git pull origin master --allow-unrelated-histories

执行完后会有冲突出现

七、IntelliJ IDEA 不显示Git的解决办法

 1、idea工具类里面查到 VCS ,下拉选项里面选择 Enable Version Control Integration(启用版本控制集成)。
    2、在弹出框里面选择需要的版本管理工具,如选择Git。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值