美文网首页
GIT基本使用流程

GIT基本使用流程

作者: Sp0n | 来源:发表于2020-09-20 03:35 被阅读0次

    基本流程(以码云gitee为例)

    1. fork别人的仓库,或者自己新建一个仓库

    建立远端项目仓库

    2. fork后,新建分支(这一步可以跳过,后面使用git push -u命令创建)

    创建分支1
    创建分支2

    3. windows下载安装好git命令环境,linux的话直接命令安装就好了

    GIT下载地址

    任意目录打开git bash

    4. 生成SSH添加到Gitee

    • 生成ssh公钥秘钥
    ssh-keygen -t rsa -C "youremail"
    

    一路回车
    公钥秘钥(id_rsa.pub)会保存到~/.ssh文件夹下

    cat ~/.ssh/id_rsa.pub
    
    • 将id_rsa.pub公钥内容复制到gitee的设置中
    添加公钥信息
    • 测试ssh是否配置成功
    ssh -T git@gitee.com
    
    成功

    5. 初始本地仓库

    在工作目录下打开git bash,执行:

    git init
    
    初始化本地仓库

    6. 添加远端仓库地址

    • 自定义仓库名:给远端仓库地址一个代名。以下假定为repo。
    git remote add <自定义仓库名> <远端仓库地址>
    
    添加远端仓库

    7. 拉取远端仓库master分支的项目内容

    git pull repo master
    
    拉取master内容

    8. 创建切换新的本地分支,并关联远端分支

    • 以下Feat_xxx为自定义分支名,一般设置成与跟踪的远端分支名一样
    # 创建一个新的本地分支
    git branch Feat_xxx
    
    # 删除一个本地分支
    git brance -D Feat_xxx
    
    # 切换到新创建的分支
    git checkout Feat_xxx
    
    # 将新的分支发布到远端仓库上,并指定当前本地分支跟踪的远端分支
    git push -u repo Feat_xxx
    
    # 指定本地分支跟踪某一远端分支
    git branch -u repo/Feat_xxx
    # 或者
    git branch --set-upstream Feat_xxx repo/Feat_xxx
    
    # 查看分支跟踪关系
    git branch -vv
    

    9. 修改完本地代码后

    # 添加当前目录修改了的文件放到暂存区(缓存)
    git add .
    
    # 将暂存区文件提交到本地仓库
    git commit -m "your changes message"
    
    # 将本地仓库的分支推送到远端服务器上对应的分支
    git push repo Feat_xxx
    

    10. 提交pull request,审核通过,将合并到master分支中

    提交pull request

    11. 其他用户看到master更新了

    # 查看本地分支与远端master分支区别
    git log -p Feat_xxx repo/master
    
    # 确认没问题后,将master代码pull到本地分支
    git pull repo master
    

    【踩坑操作】

    一、删除已经git add的文件

    1. 查看暂存区文件
    git ls-files
    
    1. 从暂存区删除该文件
    git rm --cache 文件名
    git rm --f “文件路径”,不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)(慎用)
    
    1. 让本地与为提交的状态与远程仓库一致:
    git reset  HEAD  文件名(慎用)
    

    二、Automatic merge failed; fix conflicts and then commit the result

    • 产生原因
      首先这个问题产生的原因是因为你git pull 的时候会分为两步,第一步先从远程服务器上拉下代码,第二步进行merge,但是merge时候失败了就会产生上述问题。

    • 解决方法:(记得做备份!!!)

    1. 丢弃本地提交,强制回到线上最新版本

    git fetch --all
    git reset --hard origin/你需要下拉的分支(默认master)
    git fetch

    1. 保存本地提交

    git reset --abort
    git reset --merge
    git commit -am '提交信息'
    git pull

    三、git reset --hard把本地和仓库文件都删除了怎么回滚恢复代码?

    cat .git/refs/heads/<要恢复的分支>
    找到要恢复的提交历史号码
    git reset --hard <提交历史号码>
    
    恢复代码

    四、fatal: refusing to merge unrelated histories

    • 解决办法

    git pull origin master --allow-unrelated-histories
    然后在执行push操作

    相关文章

      网友评论

          本文标题:GIT基本使用流程

          本文链接:https://www.haomeiwen.com/subject/ooowektx.html