避免每次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 版本回退
-
找到上次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
-
git reset –hard commit_id
完成撤销,同时将代码恢复到前一commit_id 对应的版本。
-
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}