Git:修订间差异

来自OSSmedia
(创建页面,内容为“git 是代码版本控制常用的软件,并且可以推广到任何纯文本的项目,非文本的内容如果变化不多可以考虑使用git LFS拓展. ==配置== ===ssh登录=== 修改ssh配置文件,并在仓库的设置中使用配置文件里的Host名称即可 ===http登录=== 本质上是http basic auth, 可以在git项目配置文件中的地址内部写入登录信息. Í也可以使用.netrc # ~/.netrc machine myserver.trial.labkey.host login…”)
 
无编辑摘要
 
(未显示同一用户的4个中间版本)
第1行: 第1行:
git 是代码版本控制常用的软件,并且可以推广到任何纯文本的项目,非文本的内容如果变化不多可以考虑使用git LFS拓展.
git 是代码版本控制常用的软件,并且可以推广到任何纯文本的项目,非文本的内容如果变化不多可以考虑使用git LFS拓展.


==配置==
==软件配置==
===ssh登录===
===ssh登录===
修改ssh配置文件,并在仓库的设置中使用配置文件里的Host名称即可
修改ssh配置文件,并在仓库的设置中使用配置文件里的Host名称即可
第14行: 第14行:
也可以配置git自动保存密钥
也可以配置git自动保存密钥
  git config --global credential.helper store
  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

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