配置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 Key,名字叫id_rsa,然后提交到多个不同的网站(如:GitH...
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 强制 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 #启动ssh-agent...
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 master 在...
