Git相关命令

这里总结Git常用的一些命令。

为啥要总结,因为老会忘记,所以要总结

开始的开始

拿到新机器了,应该怎么做呢?

创建账户

# 设置用户
git config --global user.name "oldpan"
git config --global user.email "oldpan@oldpan.me"

# 查看当前用户
git config user.name
git config user.email

设置 ssh key

cd ~/.ssh/
ssh-keygen -t ed25519 -C "oldpan@oldpan.me"
cat id_ed25519.pub
# 把这个填写到github的设置中
ssh -T git@github.com
# 正常的话会返回
# Hi Oldpan! You've successfully authenticated, but GitHub does not provide shell access.

# 如果上述操作不成功,尝试以下操作
ssh-agent bash
ssh-add ~/.ssh/id_ed25519
# 目的是启动SSH agent,并向其添加私钥

设置remote

添加remote

在 Git 中,您可以使用以下命令来添加一个 remote 仓库:

git remote add <remote_name> <remote_url>

在这个命令中:

  • <remote_name> 应该被替换为您想要为这个 remote 仓库设置的名称。通常情况下,主要的 remote 仓库的名称被设置为 origin
  • <remote_url> 应该被替换为这个 remote 仓库的 URL。这个 URL 可以是 HTTPS URL 或者 SSH URL,取决于您是如何配置 Git 的。

例如,如果您想要添加一个位于 https://github.com/username/repo.git 的 remote 仓库,并且您想要将其名称设置为 origin,那么您应该运行以下命令:

git remote add origin https://github.com/username/repo.git

删除remote

可以使用以下命令来删除某个 remote:

arduinoCopy code

git remote remove <remote_name>

在这个命令中,<remote_name> 应该被替换为您想要删除的 remote 的名称。这将会删除本地对该 remote 的引用,但是并不会对 remote 自身产生任何影响。

项目

push

# push当前分支到origin
git push origin

# 可以添加多个远端
git remote add origin git@github.com:bykevin/Linux_base.git
git remote add other-origin git@github.com:bykevin/Linux_base.git

# push的时候也可以指定远端
git push -u origin master
git push -u other-origin master

# 带上-u 参数其实就相当于记录了push到远端分支的默认值,这样当下次我们还想要继续push的这个远端分支的时候推送命令就可以简写成git push即可。

tag

# 加备注的tag 
git tag -a v0.9 -m "版本v0.9" 
# 显示tag信息 
git show v0.9 
# tag push到远端 
git push origin v0.9 
# 本地删除tag 
git tag -d v0.9 
# 远程删除 
git push origin :refs/tags/v1.1

submodule

# 添加submodule
git submodule add https://github.com/nadjieb/cpp-mjpeg-streamer.git deps/cpp-mjpeg-streamer
# 目会自动生成一个.gitmodules 

# 重新同步
git submodule init
git submodule sync
git submodule update

进阶

lfs

对于大模型的git管理,需要使用lfs,一般git的限制是400M左右,不超1G,对于超过1G的文件,建议使用lfs进行管理。