解决git的Enter passphrase for key ‘/c/Users/Administrator/.ssh/id_rsa‘问题

  • Post author:
  • Post category:其他


避免每次pull或者push都要输入密码

1、输入下边命令;

ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

2、实例:旧密码为123465

ssh-keygen -p -P 123456 -N '' -f ~/.ssh/id_rsa

我遭遇的问题是在git的bash上每次提交都弹出“Enter passphrase for key ‘/c/Users/Administrator/.ssh/id_rsa’”的提示,这个是访问远程仓库都需要输入一个密码,一般做法是输入密码就可以解决问题。但是想以后不用进行同样的操作,那么就需要进行以下的操作:

1、打git的bash命令,输入

vi ~/.profile

2、键盘输入”i”,多行“~~~~~~”上面的插入以下的内容:

env=~/.ssh/agent.env

 

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

 

agent_start () {

    (umask 077; ssh-agent >| "$env")

    . "$env" >| /dev/null ; }

 

agent_load_env

 

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running

agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

 

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then

    agent_start

    ssh-add

elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then

    ssh-add

fi

 

unset env
​

3、按下“ESC”,在命令行下输入“:wq”。

根据以上的步骤即可不用每次都输入密码了。

Git pull 强制拉取并覆盖本地代码

两个电脑同时对git上的项目进行跟新时,不免要用到将git上的代码拉取到本地更新本地代码的操作,鉴于自己对git使用的还不是很熟练,所以就直接采取暴力的方法,直接拉取并覆盖本地的所有代码,命令如下

git fetch --all
git reset --hard origin/master
git pull

git 版本回退 and git stash 暂存使用



git 版本回退

  1. 找到上次Git commit的 id

    git reflog

    找到你想撤销的commit_id

zhanghuilongdeMacBook-Pro:hrs-std zhanghuilong$ git reflog
96088556 HEAD@{0}: commit (amend): zhanghl2_20170327 机构查询列表 and Kafka配置更换cmt1
57b95b91 HEAD@{1}: commit (amend): zhanghl2_20170327 机构查询列表 and Kafka配置更换
b24de4b3 HEAD@{2}: commit: zhanghl2_20170327 机构查询列表 and Kafka配置更换
e57b8d15 HEAD@{3}: checkout: moving from 20170328_feature_mutilSite to 20170327_feature_organByType
  1. git reset –hard commit_id

    完成撤销,同时将代码恢复到前一commit_id 对应的版本。

  2. git reset commit_id

    完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改。



git stash 使用

查看暂存历史记录 git stash list

zhanghuilongdeMacBook-Pro:hrs-std zhanghuilong$ git stash list
stash@{0}: On 20170328_feature_mutilSite: 机构查询
stash@{1}: On 20170327_feature_organByType: 朱海机构查询需求
stash@{2}: On 20170327_feature_organByType: kafka
stash@{3}: On medicalCardServer: yibao
stash@{4}: On 20170316_feature_expertGroupAggr: 专家组医生下线不同步问题
zhanghuilongdeMacBook-Pro:hrs-std zhanghuilong$ 

暂存:git stash save “标记”

git stash save "暂存时的备注,多个分支同时开发时,暂存标注下"

使用暂存历史记录git stash apply

zhanghuilongdeMacBook-Pro:hrs-std zhanghuilong$ git stash apply stash@{3}

不使用 stash@x 时默认恢复最近一次的修改即:stash@{0}



版权声明:本文为LTCM_SAKURA原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。