Git:修订间差异

来自OSSmedia
无编辑摘要
无编辑摘要
 
(未显示同一用户的2个中间版本)
第1行: 第1行:
git 是代码版本控制常用的软件,并且可以推广到任何纯文本的项目,非文本的内容如果变化不多可以考虑使用git LFS拓展.
git 是代码版本控制常用的软件,并且可以推广到任何纯文本的项目,非文本的内容如果变化不多可以考虑使用git LFS拓展.


==配置==
==软件配置==
===ssh登录===
===ssh登录===
修改ssh配置文件,并在仓库的设置中使用配置文件里的Host名称即可
修改ssh配置文件,并在仓库的设置中使用配置文件里的Host名称即可
第20行: 第20行:


=== 配合 windows ===
=== 配合 windows ===
windows 经常会往文件里面写妙妙换行,用这种方式自动替换CRLF成LF,仅显示警告(git diff),解决碍眼的 ^M 换行符号
  git config --global core.autocrlf input
  git config --global core.autocrlf input


  echo * text=auto >> ~/.gitattributes
  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

2024年11月25日 (一) 14:20的最新版本

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