将项目上传到仓库

  1. 首先在码云上新建一个项目

    -->复制码云新建项目的地址路径(https或ssh)。
  2. 本地新建一个文件夹

    -->点击新建文件夹,
    
    鼠标右键选择使用git bash打开
  3. git bash操作:

       git init(初始化文件生成.git文件)
    
        -->回车-->git remote add origin 码云项目地址
    
        -->回车-->git pull origin master (将码云上的仓库pull到本地文件夹)
    
        -->添加编写代码。
    
        --> git push origin master 

    完全地覆盖本地的代码

git reset --hard
git pull origin master

//或者
git reset --hard origin/master

Git回退到指定节点的版本

  1. 获取某个历史版本的id(即change-id,每个版本唯一)

方法1:使用git log命令查看所有的历史版本,输入q便可退出。

git log

方法2:使用gitk图形化界面查看节点信息。(在安装 Git 的同时,你也装好了它提供的可视化工具,gitk 和 git-gui。)

—>假设查到历史版本的id是124bb0f757e661ef12cdbe99a805c156297d1f11

  1. 本地恢复到该节点状态
git reset --hard 124bb0f757e661ef12cdbe99a805c156297d1f11
  1. 强推到远程分支

此时如果分支较远或者改动较多,使用git push origin可能会报错失败,此时可使用强推

git push -f -u origin master

注:当远端设置了分支保护,则首先要将其取消,再强推;
强推之后,之前的版本被覆盖了,无法再查看到。

git clone 远程指定分支
git clone -b <指定分支名> <远程仓库地址>

提交代码

git add .   //添加到文件到缓冲区
git commit -m "xx" //提交
git push origin master //推送远程服务器

Git代理

设置http https全局代理

git config --global http.proxy 127.0.0.1:10808
git config --global https.proxy 127.0.0.1:10808

非全局代理

git config --global http.https://github.com.proxy https://127.0.0.1:10808
git config --global https.https://github.com.proxy https://127.0.0.1:10808

取消http代理

git config --global --unset http.proxy
git config --global --unset https.proxy

查看代理信息

git config --global http.proxy #查看git的http代理配置
git config --global https.proxy #查看git的https代理配置
git config --global -l #查看git的所有配置

设置socks5代理

git config --global http.https://github.com.proxy socks5://127.0.0.1:10808
git config --global https.https://github.com.proxy socks5://127.0.0.1:10808

ssh和http相互切换

方法一:使用 git remote set-url [本地分支] [url] 来进行更改。
1、查看当前地址

$ git remote -v
origin https://github.com/lyuxiaomin/dubbo.git (fetch)
origin https://github.com/lyuxiaomin/dubbo.git (push)

2、修改地址

$ git remote set-url origin git@github.com:lyuxiaomin/dubbo.git

3、查看修改后地址

$ git remote -v
origin git@github.com:lyuxiaomin/dubbo.git (fetch)
origin git@github.com:lyuxiaomin/dubbo.git (push)

修改 .git/conf 文件,如下图:

可能遇到的一些问题

error: Your local changes to the following files would be overwritten by merge:

方法1:如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)

git stash
git pull origin master
git stash pop

方法2、如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull:

git reset --hard
git pull origin master

//或者
git reset --hard origin/master

Git Push 提示不支持具有 Socks5 方案的代理

场景

使用 Git Push 提交代码到远程服务器时提示了一个错误

fatal: NotSupportedException encountered.

ServicePointManager 不支持具有 socks5 方案的代理。

问题

然而之后还是正常提交成功了,实际上问题是:

  • 配置了本地的 socks5 的代理(Shadowsocks 之类的代理软件)
  • 配置了远程服务器 Git 服务端的 SSH
  • 本地提交代码到远程服务器时使用的是 http/https 协议

这三者只要有一个不满足就不会出现这个错误了

解决方案

  1. 取消远程的 SSH (不推荐)

在下面的页面中删除你的 SSH Keys 即可

GitHub

Bitbucket

  1. 提交内容到远程 Git 服务器时选择 SSH 协议

设置远程仓库为 SSH 协议