git 是代码版本控制常用的软件,并且可以推广到任何纯文本的项目,非文本的内容如果变化不多可以考虑使用git LFS拓展.
软件配置
ssh登录
修改ssh配置文件,并在仓库的设置中使用配置文件里的Host名称即可
http登录
本质上是http basic auth, 可以在git项目配置文件中的地址内部写入登录信息.
Í也可以使用.netrc
# ~/.netrc machine myserver.trial.labkey.host login user@labkey.com password mypassword
也可以配置git自动保存密钥
git config --global credential.helper store
也可以替换http至ssh
git config --global url."git@github.com:".insteadOf "https://github.com/"
配合ssh的配置可以在url的部分写成Host名称
配合 windows
windows 经常会往文件里面写妙妙换行,用这种方式自动替换CRLF成LF,仅显示警告(git diff),解决碍眼的 ^M 换行符号
git config --global core.autocrlf input
echo * text=auto >> ~/.gitattributes
项目配置
submodule
将在detach模式下提交的内容合并到main
假设你已经在commit之后使用checkout来到了main分支,现在需要回去:
#如果没有checkout可以跳过这个步骤 git reflog git cehckout <commit hash>
然后在这里创建新的分支
git switch -c <new-branch-name>
之后就可以回到main分支然后合并代码了
git checkout main git merge <branch-name>
甚至之后还可以把那个分支删掉
git branch -d <branch-to-delete>
选择分支
git config -f .gitmodules submodule.path/to/submodule.branch main
或者编辑 .gitmodules,手动添加
branch = main