参考
1.https://www.zhihu.com/question/27712995
2.https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6

针对自签署证书Git服务,免ssl验证

# 配置文件位置 .git/config
$ export GIT_SSL_NO_VERIFY=1
或者在具体git项目目录上执行
$ git config http.sslVerify false

从origin,master和HEAD开始

...

新建本地本地仓库

$ mkdir 本地仓库目录project1
$ cd project1
$ git init
$ git commit -m "start ..."

新建Git服务上对应仓库

https://git服务.com/所有者/project1.git

将本地仓库链接到Git服务上对应仓库

$ git remote add origin https://git服务.com/所有者/project1.git
$ git pull origin master --allow-unrelated-histories
# --allow-unrelated-histories的作用,避免两个独立仓库merge报错
拉取远程仓库内容,此时基本是空的,以此使得两个独立仓库建立跟踪关联

将本地库目录下内容commit到仓库,并且push到远程仓库

$ git add .
$ git commit -m "Yes, by Jungle"
$ git push origin master

# List your remote URL using:
$ git remote -v

本地修改无法commit&push解决

1)问题1:报You are in ‘detached HEAD‘ state, which means that you‘re not on any branch

  • 粗暴解决
# 先将本地新修改的代码文件备份到其他地方
...
$ git fetch --all //下载覆盖本地代码,即不进行合并操作 
$ git reset --hard origin/master //把HEAD指向最新下载的版本

# 然后将本地新修改文件覆盖到工程下对应目录
# 然后add & commit & push

+++++++++++++++++++++++++++++++++++++++++++++++++++++

标签

https://dianzubuluo.com/%E6%9C%AA%E5%91%BD%E5%90%8D/144135.html
1)标签 和 标签附注 和 签署标签
轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用gnu privacy guard(gpg)来签署或验证。

> 打标签
$ cd  要打标签的分支
$ git tag 标签名
$ git push origin 标签名

> 给标签加附注
$ git tag -a 标签名  -m "附注信息"

> 签署标签
$ git tag -s 标签名 -m "附注信息"

> 检出某标签版本
$ git checkout tag_1(标签名)
> 检出标签为一个分支
$ git checkout -b new-branch-name tag1

# 删除本地tag
git tag -d tagName
# 删除远程tag
git push origin :refs/tags/tagName

新建分支

https://git-scm.com/book/zh/v2/Git-分支-分支的新建与合并

$ git checkout -b 新分支名
> -b 作用是在新建分支后将当前会话切换到新分支,或命令切换
$ git checkout 分支名
$ git branch -a|-r			#查看分支

将新分支提交远程仓库origin

$ git push --set-upstream origin 新分支名[:省略则远程同名分支名]
> --set-upstream同时设置跟踪该分支

版本管理实操

https://blog.csdn.net/weixin_48726650/article/details/107513995

安装新版

$ sudo add-apt-repository -y ppa:git-core/ppa
$ sudo apt-get update
$ sudo apt-get install git -y

gogs忘记密码

  • 创建临时管理员账号
    // 切换root,停止gogs
    $ sudo su && systemctl stop gogs
    // 修改gogs运行用户为 RUN_USER = root
    $ nano /opt/gogs/custom/conf/app.ini
    $ ./gogs admin create-user --name tempuser --password temppassword --email xxxx@qq.com --admin
    $ New user "user" has been successfully created!

// 删除root用户运行产生的日志垃圾
$ rm -rf log/xorm.log
// 重新启动gogs
$ systemctl start gogs

nexus忘记密码

https://support.sonatype.com/hc/en-us/articles/213467158-How-to-reset-a-forgotten-admin-password-in-Nexus-3-x
https://support.sonatype.com/hc/en-us/articles/115002930827-Accessing-the-OrientDB-Console

  • 注意当前java版本,nexus-3-x必须为java1.8
  • 启动OrientDB 的 console
    $ java -jar $
    /lib/support/nexus-orient-console.jar
  • 连接DB
    $ connect plocal:../sonatype-work/nexus3/db/security admin admin
# 将admin密码修改为admin123
update user SET password="$shiro1$SHA-512$1024$NE+wqQq/TmjZMvfI7ENh/g==$V4yPw8T64UQ6GfJfxYq2hLsVrBY8D1v+bktfOxGdt4b/9BthpWPNUy/CBk6V9iA0nHpzYzJFWO8v/tZFtES8CA==" UPSERT WHERE id="admin"