1.git使用公钥私钥
在刚进公司时,安装好git之后,配置好自己的用户名和邮箱
git config --global user.name “用户名”
git config --global user.email “邮箱”
之后生成自己的公钥私钥
ssh-keygen -t rsa 并按回车3下
之后会在文件夹 ~/.ssh/ 里面生成一个私钥 id_rsa和一个公钥id_rsa.pub
可通过命令行 cat ~/.ssh/id_rsa.pub 对其公钥进行查看
公钥生成之后发送给上级,之后公钥会被添加到公司所使用的远程仓库中,这样对于仓库来说你就是一个可信赖的对象,当你去 clone 仓库时才能正常进行
2. git clone与 git pull遇到的问题
git clone 一个库 a 下来之后,发现里面的文件和我所现使用的文件有着些许的区别,导致我对现使用的一些文件进行改动后想要 更新到远程库时有点蒙,后面发现原来是分支的问题。
克隆 a 下来之后,执行
git branch -a 查看所有的分支
结果如下:
以remotes开始红色的为远程分支,而绿色带 *号表示现在本地分支为master 分支
可见远程分支有三个,而本地分支只看到master一个
此时运行
git config -l 查看配置信息
结果如下:
其实clone 仓库下来时,所有分支都是 得到了的,虽然git branch -a 只看到了一个分支master,
但是可以直接 切换到其他分支
git checkout openwrt1907-gwhost
切换分支后再次查看分支如下
可见现在能看到两条本地分支了,且已经从master转换到了openwrt1907-gwhost分支,
再次查看配置信息如下:
可见多出了最后两行,是关于本地分支 openwrt1907-gwhost 与远程库之间的关联信息
而再次去看文件,发现这个分支里的文件和我现使用的是相同的,之后我把改动放进来 直接 git pull就可以对应提交到远程库的 openwrt1907-gwhost 分支了。
3. 撤销已提交到本地库的改动(未push)
使用git reset 命令
再次看到一个博客的内容非常好用,
链接如下:
https://www.cnblogs.com/PeunZhang/p/11649910.html
部分截图如下
我解决问题 使用了 命令
git reset --mixed HEAD^
将git add 与 git commit 撤销了,但是工作区改动的文件还在
4. connection was reset.errn0 10054
经过搜索后:
-
git config --global http.sslVerify “false” (解除 ssl认证)
执行后发现无效
-
ipconfig /flushdns (更新dns缓存)
成功 git clone
5. 回退到往期版本并建立新分支
我处于分支develop ,由于同事提交错分支,将别的分支的东西提交develop分支,导致该分支的文件位置,升级版本等方式都已经改变,但是我已经熟悉了之前升级版本的方式和文件位置,于是想要回退到好几个版本之前的版本,然后建立一个新的分支,以后在这个分支进行修改:
- 查询到想要回退到的版本号:使用git log 或者gitk图形化工具查看(可清楚看出各次版本提交及分支间的脉络)
- git checkout xxxxxxxxx(版本号):此时你已经处于游离状态,文件内容也回到了这个版本
- 创建新的分支并切换到新分支:git checkout -b 新分支 原分支
- 此时进行你需要的改动并提交即可
6. 查看以前提交具体改动在哪
想要对系统的版本号进行升级,但是我不确定要改哪几个文件,但是从提交日志中能找到某一次提交正好对版本号进行了升级,于是找到该版本号,然后执行
git show xxxxxxxxxx(版本号) 可以查看该版本提交时具体改动了哪些文件和文件内容
7. 删除本地分支和远程分支
// 删除本地分支(注意切换到其他分支后进行删除)
git branch -d localBranchName
如果未成功
git branch -D localBranchName强制删除
// 删除远程分支
git push origin --delete remoteBranchName