美文网首页
复盘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