Git使用笔记
一、Git基本操作
git顺序
git pull --> git add xxx.py --> git commit –m “xxx” --> git push origin master:refs/for/master
git commit提交指定文件的两种方式
1. 将指定文件添加到缓存区,然后提交所有缓存区文件
git add a.txt b.txt
git commit -m "xxx"
2. 提交来自不同地方的文件,比如工作区和缓存区的
git commit -o a.txt b.txt -m "工作区a.txt, 缓存区b.txt”
git commit后
1. 撤销commit
例如:
git add . //add file
git commit -m "xxx"
则:
git reset --soft HEAD^
注:
1)此操作仅撤回commit操作,代码仍保留。
2)HEAD^ 意思是上一个版本,也可以写成HEAD~1。如果进行了2次commit,都想撤回,可使用HEAD~2
3)参数:
--mixed:默认参数。不删除工作空间改动的代码,撤销commit,并且撤销git add . 操作。
--soft:不删除工作空间改动代码,撤销commit,不撤销add
--hard:删除工作空间改动代码,撤销commit,撤销add。这个操作完后,恢复到了上一次commit状态。
2. 改一下commit的注释
git commit --amend
会进入vim编辑器,修改完注释保存就好了。
git设置用户名,密码等
1. 设置user name和email
git config --global user.name "xxx"
git config --global user.email "xxx@xxx.com"
二、报错
1. Permission Denied(publickey)问题
本地git bash使用git下载更新code需要依赖ssh key,如果权限不足一般都是SSH key失效或不存在,重创建SSH key一般可解决问题。
step 1:检查本地ssh key是否存在(笔者是linux系统,如果是windows系统,先打开git bash)
1)ls ~/.ssh/ 查看是否有这个目录
2)如果key不存在,按step 2来重新生成;否则,执行step 3
step 2:生成ssh key
1)ssh-keygen -t rsa -C "usrname@email.com" 注意填入自己对应的邮箱地址
2)按提示输入密码。当提示“Your identification has been saved in ...” 表示ssh key生成成功;
step 3:添加ssh key到ssh agent
1)确认ssh agent开启:eval "$(ssh-agent -s)" ,打印pid xxx表示启用中。
2)添加ssh key至ssh agent:ssh-add ~/.ssh/id_rsa。如这步报错Could not open a connection to you authentication agent,则重新以管理员运行git bash。
step 3:添加ssh key到github
1)登录github等仓库,在settings的SSH and GPG Keys中,选择新建SSH Keys。在key内容内,填入step2中生成的id_rsa.pub文件。
此时则已可成功连接。
ref:https://blog.csdn.net/u013096592/article/details/87969196