git操作说明

参考:https://blog.csdn.net/zl1zl2zl3/article/details/94019526

 

应用场景:

一、开发分支(如test)合并到master分支上。

如test分支合并到master分支

git checkout test 切换到test分支

git pull  提交本地更改

git checkout master 切换到master

git merge test  //把test内容合并到master

git push 即可推送到master

 

二、master有更改

当master有更改

git checkout master 
git pull 
git checkout dev
git merge master 
git push -u origin dev

 

问题出现

如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,

在发布这个配置文件的时候,会发生代码冲突:

error: Your local changes to the following files would be overwritten by merge:
        protected/config/main.php
Please, commit your changes or stash them before you can merge.

如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
 

git stash

git pull

 

或者放弃本地修改:直接采用远端:

git reset --hard
git pull

 

   出现:error: The following untracked working tree files would be overwritten by merge:
        src/pages/ai/tableToExcel.ts
Please move or remove them before you merge.

 

方式一:假设你有安装git的工具。当然是图形化工具,比方tortoiseGit。你能够通过这些工具,选中你的project目录,右键cleanup。

方式二:通过命令行。你直接运行git clean -d -fx就可以。可能非常多人都不明确-d,-fx究竟是啥意思,下一篇关于git的文章会介绍下git clean相关的东西。



d :删除未被添加到git的路径中的文件(将.gitignore 文件标记的文件全部删除)

f :强制运行

x :删除忽略文件已经对git来说不识别的文件 (新修改的没有被跟踪的文件)

 

 

1  首先,在git中配置用户名和邮箱。在Git Bash中输入如下:

git config --global user.name "xxxxxxx"

git config --global user.email "xxxxxxx@XX.com"  

 

2 克隆分支

整理好git后,开始克隆,打开SourceTree开始克隆。具体为点击“克隆/新建”,输入相应的源路径/URL,之后输入用户名和密码即可进行,在克隆的地方可以查看克隆的文件。

 

3 新建分支

 

在克隆的文件夹下,新建自己的分支,此分支是基于刚克隆项目的分支,如上面克隆的分支是master,此分支是在master下生成的分支。例如为test。

*******输入的分支名字,且必须分支选择为remotes下origin下develop分支*****

 

4  修改后commit

 

在创建分支后,对于自己的修改只是自己分支的修改,修改后,进行commit。

commit前为红色,commit后为绿色。成功最后面显示success。

 

commit后把自己创建的分支提交push上去。

通过修改后,提交结果,Push到服务器,让测试人员进行测试。Push时一定记得是Local和Remote相同,一定不要成develop,否则就覆盖了。

 

建立完分支后,可以去网站查询。

 

5 打开编辑

 

可以用sublime_text打开克隆的项目,具体如下。app为模板项目,不需要修改。需要修改的地方static下src目录的文件。

 

6 切换分支

 

 

  用TortoiseGit-》Switch/Checkout。进行切换即可。

 

7 查看分支

 

 

    查看远程分支 git branch -a

   查看本地分支  git branch

8  删除分支

 

 

 删除远程本地分支,用Git Bash去处理。在工作的地方Git Bash Here

 

之后输入,git branch -r -d origin/branch-name(可以不执行)

     和  git push origin :branch-name

提示输入用户名和密码,即可完成远程删除操作。(删除了远程分支,本地分支仍然存在)

删除本地分支 git branch -d  分支名(即可删除)

注:该分支不在使用,使用时无法删除该分支。

 

此时输入git branch -D test_feature2016zhouy   ,即可完成删除。

 

 

9 问题以及解决方案。

 

 

 

you need to resolve your current index first。因为产生了冲突。故需要回退到合并前。

 

解决方案如下:

git reset --merge

 

10 git出现文件状态图标不显示

注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers这一项。

修改tortoise相关的名称(如加一个.前缀,并加数字)。之后重启explorer.exe即可。

11 Chrome出现

net::ERR_CONNECTION_REFUSED

在进入内网,输入用户名和密码即可。

 

11 Please, commit your changes or stash them before you can merge.Aborting

git reset --hard


12 Please move or remove them before you can merge.Aborting
git clean  -d  -fx ""

 

13  git无法克隆,提示文件名太长,可以克隆,但无法checkout。

方法一、设置  git config --global core.longpaths true,即可

方法二、只需把这个文件名进行赋权限即可。(即你没有操作这个文件的权限)

 

14 git分支强制推送

git push -f origin master注释: origin远程仓库名, master分支名,-f为force,意为:强行、强制。

 

15 如果无法推送到指定仓库,去sourceTree查看设置,参考远程仓库是否正确。

16 git合并说明。

     如果想合并ma分支到zhou分支,则只需切换到zhou分支,在ma分支点击右键,之后选择合并ma至当前分支。如下图

17 git解决冲突说明(ma分支到zhou分支)。

     如果git在合并时,出现 冲突,让你工作副本中去解决,按提示去消除。

    如果,解决冲突-》选择  使用“我的版本”解决冲突,则此时使用的是自己切换的版本,即zhou版本,即该文件夹,不改变。否则,选择”使用他人版本“来解决,则此时使用的    是 ma的版本的那个文件(testzhou.txt文件)。(解决重点在下面)

 

 

解决方法:

zhou分支上有:

                // 老接口lodInterface
                url: "lodInterface",
                //

下面还有很多新的东西:
                            that.test();

ma分支上有多余的:

    mamamamammdmdmddddd---
    mamamamammdmdmddddd---
    mamamamammdmdmddddd---
    mamamamammdmdmddddd---

新接口:

 url: "newInterface",

在合并的时候,按上面的操作,到有冲突的时候,下面真正开始解决。看到右下面有很多块。就是不同的区域块。

 

上面老接口为合并的zhou分支,下面url

 url: "newInterface",为ma分支中的新的内容,如果点击“放弃Hunk”,则保持 zhou分支的

                // 老接口lodInterface
                url: "lodInterface",
                //

而不添加ma分支的内容。

 

 

可以去编辑器,直接操作,添加该添加的内容,去掉该去掉的内容。

 

整理成

最后保存,点击添加即可。

 

 

18 Git忽略添加

版本库从Git版本库拉下后,如果想忽略某些文件,只需选择文件,点击右键,找到对应即可,具体如图。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值