一、 Git
1. 创建新库并上传本地文件
Create a new repository on GitHub.com
git init
git remote add origin <REMOTE_URL> # 第二次上传就不需要使用了
git add .
git commit -m 'first commit'
git push -u origin master # -u 建立远程和本地的联系
Adding locally hosted code to GitHub
2. 再次提交的操作
# 如是分支,master 换成 分支名
git pull origin master # 如果远程库可能被修改过,先pull下来进行合并
# 修改你的代码或删除文件之后进行下面的提交
git add .
git commit -m 'second commit'
git push origin master
3. 删除提交
# --soft 保留暂存区和工作目录的更改
# --hard 完全放弃当前分支上的所有本地修改
# --mixed 保留工作目录的更改 (默认行为)
git reset HEAD~i # 回滚最后i次的提交
git reset ID # 可以回滚前,或后的版本
git checkout <file> # 删除暂存的更改(未commit前)
git commit --amend -m 'new commit message' # 修改最后那次提交的备注信息
4. git克隆github项目,修改后,并上传到github
Git 全局设置
git config --global user.name "xxx"
git config --global user.email "xxx@qq.com"
合并已有项目
git clone xxx
cd test1234
git add 文件名
git commit -m "first commit"
git push -u origin master
推送现有文件夹
cd existing_folder
git init
git remote add origin xxx
git add .
git commit -m "Initial commit"
git push -u origin master
推送现有的 Git 仓库
cd existing_repo
git remote rename origin old-origin
git remote add xxx
git push -u origin --all
git push -u origin --tags
# -u 连接两个库,下次直接git push/pull即可
5. git 实用博客
git 分支创建以及合并
# (black -v 文件名) 进行代码格式检查
git clone -b dev xxx .git # 将dev分支拉下来(第一次时使用)
git checkout -b dev_xxx # 本地切换到自己的分支 (-b第一次创建分支时需要)
git pull origin <远程分支名称>:<本地分支名称>># 用于从远程仓库获取最新的代码并合并到当前分支dev_xxx
(git status/git branch 可以看当前分支)
git add . # 修改自己的分支后,进行添加
git commit -m 'modify' # 提交并输入信息
git tag <tag name>
git push <远程仓库名称> <本地分支名称>:<远程分支名称> # 先将本地的自己的分支推送到远程
git push origin <tag name> # 再推送到标签并完成镜像发布
# (如需合并请求)进入gitlab里新建合并请求,选择源分支和目标分支进行合并
本地维护一个dev,每次使用前先进行pull
git pull origin dev:dev
然后在dev上进行修改,修改后进行提交
git add .
git commit -m 'info'
接着同步到自己的dev分支,如dev1
git push orgin dev:dev1
最后在线上进行合并请求
6. git 加入多个远程仓库
git remote add <远程别名> xxx.git # 连接另一个远程库,别名需要不同
git fetch -v <远程别名> # 从一个或多个远程仓库中获取(拉取)最新的分支、标签等信息
git checkout -b gitlab/master # 创建并切换到这个远程分支
# (如需合并请求)进入gitlab里新建合并请求,选择源分支和目标分支进行合并
常见问题
————————————持续更新——————————————
- remote: Support for password authentication was removed on August 13, 2021
- error: src refspec main does not match any
- Updates were rejected because the remote contains work that you do not have locally
原因: 其他地方向同一远端库推送了代码,导致本地不是最新的。
解决:先从远端pull一下,执行:git pull - git出现OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054错误
首先,将https修改为git
如果不行,输入以下两个命令:
git config http.sslVerify "false"
git config --global http.sslVerify "false"
二、 Docker
基础知识:
Docker中容器和镜像的关系
- 镜像你可以把它看成Java中的类,而容器可以看做是类的实例化对象。
- 一个类可以有多个对象,同理,一个镜像可以有多个容器。
常见问题:
- docker 打包 opencv-python,libGL.so.1 报错解决方法
将 opencv-python换成 opencv-python-headless,重新打包即可 - docker-compose logs -f 卡在 attaching to xxx(或者只显示部分信息)
将 python main.py 改成 python -u main.py
docker-compose 卡住的解决方法