发布时间:Dec. 19, 2022, 10:36 a.m.编辑:李佳生阅读(1224)
多git环境搭建
// 以github和gitee为例, 单git环境只执行其中一个分支(比如gitee)步骤即可 1、查看之前是否配置了global账号,新安装的git忽略 git config --global user.name git config --global user.email git config --global --unset user.name "你的名字" git config --global --unset user.email "你的邮箱" 2、生成ssh密钥,中间步骤疯狂回车就好 ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "xxx@qq.com" ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "yyy@qq.com" // 文件名与上面不同 3、输入上面指令后会生成四个文件 id_rsa.github id_rsa.github.pub // 复制内容到github id_rsa.gitee id_rsa.gitee.pub // 复制内容到gitee 4、默认只读取 id_rsa,为了让ssh识别新私钥,需要将新私钥加入到ssh agent ssh-agent bash ssh-add ~/.ssh/id_rsa.github ssh-add ~/.ssh/id_rsa.gitee 5、创建ssh配置文件 touch ~/.ssh/config 6、加入以下内容到配置文件 # github Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa.github # gitee Host gitee.com Port 22 HostName gitee.com User git IdentityFile ~/.ssh/id_rsa.gitee 7、测试 ssh -T git@gitee.com ssh -T git@github.com
常用指令:
/ 拉取代码 git clone git@code.byted.org:xxx/xxx.git xxx // 拉取代码到xxx文件夹 git submodule update --init --recursive // 更新全部子模块代码 git clone -b xxx git@code.byted.org:xxx/xxx.git yushuai // 分支相关 git checkout -b xxx // 创建xxx新分支 = git branch xxx、git checkout xxx git checkout -b 本地分支名称 origin/远程分支名称 git push --set-upstream origin xxx git branch -d xxx // 删除xxx分支 git switch xxx // 切换到xxx分支 = git checkout xxx git merge xxx // 合并xxx分支到当前分支 git push origin xxx:xxx // 推送本地xxx分支到远程 git push origin --delete xxx // 删除远程xxx分支 git branch -a // 查看所有分支 git branch -r // 查看远程所有分支 git rebase origin/main git merge origin/master --squash git push --set-upstream origin master // Cherry-pick git cherry-pick --abort // 合并多个commit git rebase -i HEAD~3 // 查看提交详情 git log // 重置 git fetch --all git reset --hard origin/main git pull // 本地分支合并到远程分支步骤 git checkout auto_test //切换分支到auto_test git merge local_auto_test //merge之前local_auto_test内容到本地auto_test分支 git push origin auto_test //将本地auto_test分支推送到远程服务器。 // 个人代码量 git log --author="lijiasheng.717" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -
可视化操作工具个人推荐:
Mac: Sourcetree
Windows: TortoiseGit