将项目上传到仓库
首先在码云上新建一个项目
-->复制码云新建项目的地址路径(https或ssh)。
本地新建一个文件夹
-->点击新建文件夹, 鼠标右键选择使用git bash打开
git bash操作:
git init(初始化文件生成.git文件) -->回车-->git remote add origin 码云项目地址 -->回车-->git pull origin master (将码云上的仓库pull到本地文件夹) -->添加编写代码。 --> git push origin master
完全地覆盖本地的代码
git reset --hard |
Git回退到指定节点的版本
- 获取某个历史版本的id(即change-id,每个版本唯一)
方法1:使用git log命令查看所有的历史版本,输入q便可退出。
git log |
方法2:使用gitk图形化界面查看节点信息。(在安装 Git 的同时,你也装好了它提供的可视化工具,gitk 和 git-gui。)
—>假设查到历史版本的id是124bb0f757e661ef12cdbe99a805c156297d1f11
- 本地恢复到该节点状态
git reset --hard 124bb0f757e661ef12cdbe99a805c156297d1f11 |
- 强推到远程分支
此时如果分支较远或者改动较多,使用git push origin可能会报错失败,此时可使用强推
git push -f -u origin master |
注:当远端设置了分支保护,则首先要将其取消,再强推;
强推之后,之前的版本被覆盖了,无法再查看到。
git clone 远程指定分支
git clone -b <指定分支名> <远程仓库地址>
提交代码
git add . //添加到文件到缓冲区 |
Git代理
设置http https全局代理
git config --global http.proxy 127.0.0.1:10808 |
非全局代理
git config --global http.https://github.com.proxy https://127.0.0.1:10808 |
取消http代理
git config --global --unset http.proxy |
查看代理信息
git config --global http.proxy #查看git的http代理配置 |
设置socks5代理
git config --global http.https://github.com.proxy socks5://127.0.0.1:10808 |
ssh和http相互切换
方法一:使用 git remote set-url [本地分支] [url]
来进行更改。
1、查看当前地址
$ git remote -v |
2、修改地址
$ git remote set-url origin git@github.com:lyuxiaomin/dubbo.git |
3、查看修改后地址
$ git remote -v |
修改 .git/conf 文件,如下图:
可能遇到的一些问题
error: Your local changes to the following files would be overwritten by merge:
方法1:如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)
git stash |
方法2、如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull:
git reset --hard |
Git Push 提示不支持具有 Socks5 方案的代理
场景
使用 Git Push 提交代码到远程服务器时提示了一个错误
fatal: NotSupportedException encountered.
ServicePointManager
不支持具有 socks5
方案的代理。
问题
然而之后还是正常提交成功了,实际上问题是:
- 配置了本地的
socks5
的代理(Shadowsocks 之类的代理软件) - 配置了远程服务器 Git 服务端的 SSH
- 本地提交代码到远程服务器时使用的是 http/https 协议
这三者只要有一个不满足就不会出现这个错误了
解决方案
- 取消远程的 SSH (不推荐)
在下面的页面中删除你的 SSH Keys 即可
- 提交内容到远程 Git 服务器时选择 SSH 协议
设置远程仓库为 SSH 协议