git push 和repo upload
1.git push
在使用git push命令,提交本地修改时,需要输入很长一串命令,这样提交起来非常麻烦。也许你已经将命令记录下来,下次拷贝一次命令,修改仓库名称就好。但是看完下面的命令,我们就不需要在记那么多的命令了。
git push ssh://laowang@10.0.0.110:29418/vendor/mtk/modules/libcamera HEAD:refs/for/camera_dev_branch
使用上面的命令,虽然也是可以提交的,但是有时候我们不知道仓库的名称。还需要我们查找仓库的名称,这样比较麻烦。
2.repo upload
repo upload命令替我们解决了仓库名称查找麻烦的问题,但是有时候在使用repo upload 命令提交时,老是遇到no branches ready for upload 这种提示。于是我就在本地傻乎乎建了一个分支。如下命令:
git checkout -b my_branch
=======================
git branch
* my_branch
这样的话我们本地就多了一个my_branch分支。但是使用repo upload . 命令提交时,仍然会出现no branches ready for upload 问题应该不再这里.于是我就在百度上,搜索了一下啊,发现别人也遇到这样的问题.我们需要使用下面的命令创建分支。
repo start branch-name git-dataset name.
branch-name:代表我们想创建分支的名称。
git-dataset name:代表我们需要创建分支所在的目录,即.git目录所在的目录。
3.解决办法:
既然我们使用repo 命令提交,我们要创建repo能识别的分支。所有我们就需要使用 repo start branch-name git -dataset name。这样repo才能接受这个分支名字。
例如:我所在git仓库在scx20目录下,目录下的内容,如下所示:
上面可以发现目录下存在git仓库.git,我们使用 repo start test_branch ./scx20 ,来创建一个分支test_branch。这样的话我们就可以在test_branch分支下提交代码了。你还可能遇到一些问题
4.遇到的问题:
1.重新创建的分支,使用git log 发现没有我们之前的修改了,这时我们需要重新切换到之前的分支,当然如果我们已经知道了commit id,就可直接使用git cherry-pick命令拿过来。
2.如果只是使用git checkout -b new_branch 创建新分区,那么我们使用git log还是可以看到我们之前的提交的。如果是用repo start 是看不到我们之前的提交的。