从零开始的异世界代码学堂

1. SSH/Git/Tmux分享 结合 Vscode

SSH

在本机终端中输入:

ssh-keygen -t rsa -b 4096 -C "xxx"

打开github,在这里添加ssh key,在终端中使用以下命令检验:

ssh -T git@github.com

如果连接成功,你会看到类似以下的消息:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

Git

下载代码

git clone --recursive xxx --depth 10

git submodule update --init --recursive 对于一些很久的分支,要用这个更新一下子模块

git status 查看状态,确定一下是否有没有track的子模块

设置邮箱和用户名

git config --global user.email "xxx"

git config --global user.name "xxx"

创建分支

git checkout -b xxx/xxx

提交分支

git add xxx.py

git commit -m "xxx"

git push --set-upstream origin xxx/xxx

回退分支并保留更改记录

git reset --soft HEAD^

git push -f

增加新的远程仓库

git remote -v

git remote add origin1 xxx

git fetch origin1 --depth 10

合并分支

git merge 用于将两个分支的历史合并。它会创建一个新的合并提交,并保留合并前两个分支的历史。

  • 当你在目标分支(如 main)上运行 git merge feature-branch 时,Git 会将 feature-branch 分支的更改合并到当前分支。
  • 如果两个分支没有冲突,Git 会自动创建一个新的合并提交,将这两个分支的历史记录结合在一起。
  • 如果存在冲突,Git 会要求你手动解决冲突,然后创建合并提交。

变基分支

git rebase 是另一种合并更改的方式,但它通过重新应用提交来改变历史记录,使提交历史更加线性。

  • 当你在 feature-branch 上运行 git rebase main 时,Git 会将 main 分支上的所有提交应用到 feature-branch 之上。
  • 实际上,git rebase 会将 feature-branch 上的每个提交暂时保存起来,然后将它们一一应用到 main 分支的最新提交之后,形成一个新的提交链。
  • 如果遇到冲突,Git 会要求你手动解决冲突,并使用 git rebase --continue 继续操作。

合并特定分支

要将某个特定的提交(通过其哈希值识别)引入当前分支,可以使用以下命令:

git cherry-pick <commit_hash>

Tmux

安装

apt-get install tmux

基本命令

tmux

tmux new -s xxx

tmux attach -t xx

tmux ls

tmux kill-server

tmux kill-session -t xx

exit