如题git仓库中有子仓库,子仓库代码上传不成功,首先我们应该避免仓库嵌套的问题,这种一般不是合理的.应该使用package来管理,不管是私有还是共有.
如果想快速解决问题.可以使用下面的方法:
# 进到子仓库.git所在的目录执行下面命令
rm -rf .git
git rm -r --cached .
如题git仓库中有子仓库,子仓库代码上传不成功,首先我们应该避免仓库嵌套的问题,这种一般不是合理的.应该使用package来管理,不管是私有还是共有.
如果想快速解决问题.可以使用下面的方法:
# 进到子仓库.git所在的目录执行下面命令
rm -rf .git
git rm -r --cached .
在使用 repo sync 同步 Android 源码时,可以添加一些选项来减少同步时间和要下载的代码空间。具体的命令是 repo sync -c --no-tags --prune -j 4
。
查看 repo help status 的帮助信息,对所给的各个选项具体说明如下:
git branch -r
命令看不到服务器新增的分支名。如果不加 -c 选项,那么同步的时候,会打印 [new branch] 这样的信息,使用 git branch -r
命令可查看到服务器新增的分支。--prune
选项,可以让本地仓库删除对这个分支的跟踪引用。查看 repo 的 .repo/repo/project.py
源码,这个选项实际上是作为 git fetch 命令的选项来执行。查看 man git-fetch 对自身 --prune
选项的说明如下,可供参考:-p, –prune-j 4
指定用4个线程来同步。如果没有提供该选项,默认是用2个线程。总的来说,在 repo sync -c --no-tags --prune -j 4
命令中,使用 -c 和 –no-tags 选项可以减少需要同步的内容,从而减少要占用的本地代码空间,也可以减少一些同步时间。
使用 -j 选项来指定启用多线程进行同步,可以加快执行速度,也就减少了同步时间。
使用 –prune 选项去掉已删除分支的跟踪引用,一般不会用到,这个选项可加可不加。
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates
sudo apt-get install -y postfix
使用左右键和回车键选择确定、取消,弹出列表选项的时候,选择 Internet Site
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
由于国外的下载速度过慢,所以配置清华大学镜像的路径。
根据你的版本,选择对于的内容写入/etc/apt/sources.list.d/gitlab-ce.list
,详见Gitlab Community Edition 镜像使用帮助
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
sudo apt-get update
sudo apt-get install gitlab-ce
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
http://电脑的IP地址
第一次进入,需要输入管理员账号的密码,以方便后期的管理。
输入好之后,就可以以管理员进行登录,账号是root,密码就是你刚才输入的密码。
至此,gitlab已安装成功,之后的使用方式,和github没有太大差异,就不进行介绍了。
编辑gitlab.rb
sudo gedit /etc/gitlab/gitlab.rb
将如下数据进行更改
external_url 'http://gitlab.example.com'
比如说更改为
external_url 'http://192.168.39.100:7800'
其中,192.168.39.100是安装了gitlab的这台电脑的IP,端口只要不冲突就行
更改之后,需要执行如下代码
sudo gitlab-ctl reconfigure
最后,在浏览器中访问gitlab,发现已修改成功,需要使用192.168.39.100:7800
来访问
停止
sudo gitlab-ctl stop
开启
sudo gitlab-ctl start
确认配置(修改配置后,必须执行)
sudo gitlab-ctl reconfigure
卸载gitlab
执行如下四步:
sudo gitlab-ctl uninstall
sudo dpkg -r gitlab-ce
sudo rpm -e gitlab-ce
reboot(重启)
详见 https://blog.csdn.net/samxx8/article/details/72329002
/var/opt/gitlab/git-data/repositories
(https://docs.gitlab.com/ce/administration/repository_storage_paths.html
)
参照 https://blog.csdn.net/qq_36467463/article/details/78283874
https://blog.csdn.net/hust_cxl/article/details/77332451
https://www.cnblogs.com/m2ez/p/7063606.html
https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
现在我在master分支上,工作目标是干净的,也没有需要commit的:
$ git branch * master release $ git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean
新建一个本地分支:
$ git checkout -b dbg_lichen_star
查看一下现在的分支状态:
$ git branch * dbg_lichen_star master release
星号(*)表示当前所在分支。现在的状态是成功创建的新的分支并且已经切换到新分支上。
把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名):
$ git push origin dbg_lichen_star:dbg_lichen_star
使用git branch -a
查看所有分支,会看到remotes/origin/dbg_lichen_star
这个远程分支,说明新建远程分支成功。
我比较喜欢的简单方式,推送一个空分支到远程分支,其实就相当于删除远程分支:
$ git push origin :dbg_lichen_star
也可以使用:
$ git push origin --delete dbg_lichen_star
这两种方式都可以删除指定的远程分支