配置ssh key(一个或多个key)
配置一个SSH Key 生成ssh公私钥(默认就是2048字节, 邮箱也可以不加,邮箱是作为title存在, 所以可以配置个有标识性的名称之类的): ssh-keygen -t rsa -C "yourEmailAddr" -b 2048 如果ssh密码没有配置在默认路径, 需要按照如下步骤进行配置 启动ssh-agent:eval ssh-agent -s添加私钥到agent【ssh-add "私钥文件地址" 】 如:ssh-add "c:/Users/xxx/.ssh/id_rsa" 第二步提示:Could not open a connection to your authentication agent,执行ssh-agent bash 将公钥添加到远端库ssh管理处(github/gitee/gitlab) clone 代码:git clone git@xxx.git 配置多个SSH Key场景描述开发人员通常只会生成一个SSH...
git配置代理
本机vpn设置代理 设置代理 12git config --global http.proxy 代理地址 (全局)git config --local http.proxy 代理地址 (当前仓库) 取消代理 1git config --global --unset http.proxy 查看当前已设置的代理,没有打印任何东西证明没有设置代理 1git config --global --get http.proxy 配置github代理(配合服务器使用) 台湾代理: https://hub.xn--gzu630h.xn--kpry57d/ 本地代理: https://cdn.githubjs.cf/ 可以使用insteadOf关键字,替换所有https://github.com/仓库的代理 1git config --global url."https://hub.xn--gzu630h.xn--kpry57d/".insteadOf...
git命令(长期)
git回滚上一个版本/回滚到上个版本123456789linux:git reset --hard HEAD^windows:git reset --hard HEAD"^"git reset --hard HEAD~<n>然后执行git push --force <origin master(可选)> (强制推送分支) 回滚到指定版本1234git reset --hard <hashid>然后执行git push --force <origin master(可选)> (强制推送分支) git commit之后,想撤销commit123git reset --soft HEAD^:撤销上一个commitgit reset --soft HEAD~2:撤销前两个commitgit commit --amend:修改注释 强制提交1git push -u origin 分支 -f git强制更新并覆盖本地修改123git reset --hard origin/develop ...
结合小乌龟使用git
结合小乌龟使用git 下载最新版https://tortoisegit.org/download/ 自动检测 Git 的安装路径 下一步,填写姓名和邮件地址,只作为提交时的记录 生成公钥/私钥(用于ssh) 点击 Generate,并不断移动鼠标在空白处 待 Generate 进度完成后,复制公钥信息到github或者其他地方(建议复制保存起来); 点击 Save private key 保存密钥,不必添加密码短语: 结合github的使用(gitlab和gitee一样) 添加公钥到 Github,登录https://github.com/settings/keys 添加新的 SSH 公钥(将生成的key复制,粘贴到git账户中的SSH public key中,这就是适用于git的公钥) 将私钥永久保存在Pageant Key List中 运行TortoiseGit开始菜单中的Pageant程序,程序启动后将自动停靠在任务栏中,图标显示为,双击该图标,弹出key管理列表,如下图示
git问题处理
不小心使用 git 强制 push 推送了代码, 希望回退到 push 前的状态 如果不小心使用 git 强制 push 推送了代码,还可以回退到 push 前的状态。主要可以通过以下两种方式: 使用 git reflog 查找回退到 push 前的 commit git reflog 会记录最近的操作和 commit 记录,找到 push 前的提交点。 然后使用 git reset --hard <commit> 回退到那个提交点即可。 如果进行了多次 push,reflog 记录很乱,可以回退到某个知道的良好版本 例如回退到版本 v1.2: 1git reset --hard v1.2 然后使用 git push -f 强制推送来覆盖之前的错误提交。 当然最好的方式还是在推送前使用 git stash 暂存变更,或新建分支进行操作。 但强制 push 后的恢复还是可以的,主要是使用 git 提供的回退机制来撤销错误的提交。 git通过ssh认证拉取代码失败,需要手动输入密码: 解决方法 eval ssh-agent -s ...
Git 中 merge 和 rebase 的区别
Git 中 merge 和 rebase 的区别参考: https://developer.aliyun.com/article/652579 简介: $ git pull --rebase和$ git pull区别 是git fetch + git merge FETCH_HEAD的缩写,所以默认情况下,git pull就是先fetch,然后执行merge操作,如果加-rebase参数,就是使用git rebase代替git merge 。 $ git pull --rebase和$ git pull区别是git fetch + git merge FETCH_HEAD的缩写,所以默认情况下,git pull就是先fetch,然后执行merge操作,如果加-rebase参数,就是使用git rebase代替git merge 。更新本地仓库 merge 和 rebasemerge 是合并的意思,rebase是复位基底的意思。现在我们有这样的两个分支,test和master,提交如下: 123 D---E test /A---B---C---F...
