git
2024年6月27日大约 2 分钟toolsgit
基本概念
- Workspace(工作区):新添加的;和修改的;未add操作的
- Stage(暂存区):add操作过后,会进入暂存区
- Repository(本地仓库):commit操作后,会进入本地仓库
- Remote(远程仓库):push操作后,会提交到远程仓库
基本操作
# 克隆
git clone [repo] # 默认主分支
git clone -b [branch-name] [repo] # 克隆特定分支
# 查看远程仓库信息
git remote show origin
git remote rm origin # 删除设置好的远程仓库
git checkout -b 分支名 # 创建并切换到新分支
git clone -b [branch || tag] [git地址] # clone tag
# 查看配置
git config -l
git config -list
# 设置全局账号密码
git config --global user.name ddd
git config --global user.email llll@163.com
git config --global user.password lllll
# 假如不想将密码全局保存在global config中,可以用这种方法
git config --global credential.helper store
git push 代码 #它会记住第一次输入的密码
# 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改
git checkout -- filename
git checkout .
submodule 操作
# 更换submodule, 将之前的remove掉,再重新添加新的
git rm -r --cached [aaa]
git submodule add [b.git]
merge
git checkout master # 你需要merge到的那个分支
git merge --no-ff dev # 你merge的分支(fastforward会丢掉分支信息,所以合并的时候强制关掉这个可以保留合并信息)
# 解决冲突(编辑)暂存后正常提交
因为包太大clone失败问题( RPC fail; early EOF; )
# 法一
git config --global http.postBuffer 1048576000
# 法二
git config --global core.compression -1
# 法三:不用https方式,用ssh方式
一次性推到多个仓库问题
# 查看远程仓库的情况,
git remote -v
# origin git@github.com:xxx/xxx-ai.git (fetch)
# origin git@github.com:xxx/xxx-ai.git (push)
# 使用如下命令添加远程仓库(预先创建好一个空库)
git remote set-url --add origin git@192.168.31.111:xxx/xxx-ai.git
# 可以看到 origin 远程仓库有两个 push 地址。
# origin git@github.com:xxx/xxx-ai.git (fetch)
# origin git@github.com:xxx/xxx-ai.git (push)
# origin git@192.168.31.111:xxx/xxx-ai.git (push)
degit
Github Hosts 更新地址
- https://gitlab.com/ineo6/hosts/-/raw/master/hosts
- https://hosts.gitcdn.top/hosts.txt
- https://raw.githubusercontent.com/JohyC/Hosts/main/hosts.txt