美文网首页
复盘git提交出现的问题

复盘git提交出现的问题

作者: woniu | 来源:发表于2020-07-24 21:25 被阅读0次

    问题描述:
    由于项目中的各种依赖和分支,所以在pull、运行项目以及提交git的时候总是报各种错,下面再次复盘一下,方便以后更熟悉项目流程。

    一、获取AiLesson

    AiLesson再项目中有自己的独立的库,在开发中也引用着相应的分支,所以我们要单独获取它,并且在提交代码的时候它也不作为提交项,这一点很重要。

    1、首先克隆项目到制定的文件夹,然后cd进入到parent项目,我们使用git submodule update --init --recursive先初始化一下。

    git submodule update --init --recursive
    

    2、cd进入AiLesson文件夹中,切换到指定的分支,pull下来。
    2.1 获取当前AiLesson所有的分支

    git branch -a 
    

    2.2 然后切换到指定的分支中

    git checkout jzt-master
    

    2.3 切换后,拉取最新的代码

    git pull
    

    二、cd .. 回到parent文件中

    提交文件的时候要注意在第一条的时候说的问题,我们不能直接git add .提交全部的文件,需要提交指定的被修改的文件路径。如果提交的比较多,可以以空格的形式在后面添加文件路径。
    1、提交代码

    git add jiazhangtong/Platform/ViewController/Home/3.0.X/Views  jiazhangtong/Platform/ViewController/Home/3.0.X/VCs
    git commit -m "修改了部分内容"
    git push origin HEAD:refs/for/develop
    

    git push origin HEAD:refs/for/develop,这样提交,不要直接使用git push 的方式提交,否则无法提交成功。

    三、代码的拉取、提交和回滚。

    使用sourcetree

    四、git简化提交流程设置

    在项目中的终端填写:cat .git/config,然后cd ~/.ssh/vim ~/.gitconfig进入设置,可查看。

    查看命令
    详细设置

    git push出现的错误:

    fatal: Unpack error, check server log
    error: remote unpack failed: error Missing tree c0ea00612ac75714de7dd984fea9c58ba90cc360
    To ssh://gerrit.17zuoye.net:29418/ios_17ParentNew
     ! [remote rejected]   HEAD -> refs/for/feature (n/a (unpacker error))
    error: failed to push some refs to 'ssh://kai.zhang@gerrit.17zuoye.net:29418/ios_17ParentNew'
    

    解决方法:

    git push --no-thin origin HEAD:refs/for/feature
    

    资料来源

    五、代码提交

    1、提交之前查看更改的内容

    git status 
    

    给出提示:


    修改所有文件提示

    2、提交指定文件夹

    git add Classes
    git commit -m '1、banana'
    git push origin HEAD:refs/for/develop
    

    3、修改了代码之后,恢复到拉下来的状态。

    git reset --hard origin/feature
    

    六、本地化开发

    1、本地化代码和开发文件在同一文件级别,方便查找。
    2、在podfile文件中添加引用,

        pod '你的库', :path =>'../文件名称/', :branch => 'develop' (分支信息)
    

    七、常用命令行

    pwd  :显示当前文件所在整体目录。
    open ./  :弹出子目录
    open /   :弹出磁盘文件
    
    git fetch ssh://kai.zhang@gerrit.17zuoye.net:29418/ios_17ParentNew refs/changes/89/101289/1 && git cherry-pick FETCH_HEAD
    

    八、提交代码服务器出现冲突,无法merge

    在git服务器里面,找到右上角的的Download里面找到Cheer pick,复制出来,然后在终端我们库里面调用下面的方法,同步出来冲突点,然后再分别找到这些点删除。

    git reset --hard origin/feature
    git pull
    git fetch ssh://yourName@gerrit.zuoye.net:29418/ios_Parent refs/changes/37/102237/1 && git cherry-pick FETCH_HEAD
    

    OK
    方法 说明
    vim ~/.gitconfig 设置git提交的方法的简化
    pod update MJExtension --verbose --no-repo-update 更新特定的库,其他的库不更新
    pod install --verbose —no-repo-update只安装新增的库,已经安装的库不更新
    pod install 重新安装并更新所有的podfile里面的库

    相关文章

      网友评论

          本文标题:复盘git提交出现的问题

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