UPDATE
2020-02-29:https://leay.net/2018/02/01/git/
前戏
下载安装git
配置
- 全局配置
该配置是全局配置,对于不同的管理工具,只要用的一套邮箱和密码,都可以使用。
git config --global user.name "在gitee的名字或昵称"
git config --global user.email "gitee注册使用的邮箱"
- 针对项目配置
需要在项目根目录下进行配置。
git config user.name "Your Name"
git config user.email "Your email"
- 其它
git config --list
查看当前配置
-
本地生成SSH公钥,并在gitee配置。
在配置好用户名和密码后,可以进行生成公钥。
-
生成公钥
ssh-keygen -t rsa -C "xxxxx@xxxxx.com(你的邮箱)"
连续按三次回车,使用默认配置即可
-
查询公钥
cat ~/.ssh/id_rsa.pub
这一步是查询公钥,把显示的东西全复制下来复制下来即为公钥
也可以打开C:\用户\Users.ssh中的id_rsa.pub文件查看公钥
用记事本打开即可 -
配置
复制下来在网站的配置SSH公钥处粘贴上即可。
然后就可以本地与云端同步啦。
-
一些坑
- 修改代码后不能push成功。
(协作项目其他人已取得管理权限等同理…)
Authentication failed for “https://gitee.com…”
输入账号密码登录,出现这类报错。
使用SSH公钥可以让你在你的电脑和码云通讯的时候使用安全连接(Git的Remote要使用SSH地址)
gitee官方说明
因为克隆下来的代码默认以https方式与仓库关联,故重新关联。
先查询
git remote -v
若为
origin https://gitee.com/hqweay/BookShopping.git (fetch)
origin https://gitee.com/hqweay/BookShopping.git (push)
这类信息,则说明为https关联
先删除关联
git remote rm 关联库名
查询是否删除成功
git remote -v
无信息则说明删除关联成功
再用SSH方式绑定,
git remote add origin git@gitee.com:hqweay/BookShopping.git
查询,若信息为
origin git@gitee.com:hqweay/BookShopping.git (fetch)
origin git@gitee.com:hqweay/BookShopping.git (push)
则可以push代码了。
- push不成功
push不成功还有可能是gitee项目(远程仓库)中有本地项目不存在的文件,比如建立gitee项目时引入了readme.md
git pull –rebase origin master
执行该命令 让gitee与本地代码合并
再执行push
- 提示本地项目没有文件
执行push命令前需要
git add .
git commit -m “提交说明”
常用命令
- 将本地库与远程库关联
git remote add origin git@server-name:path/repo-name.git
origin 为本地库的关联名
一个本地库关联多个远程库,就是通过更改origin这一项的名字实现的。
比如:
git remote add One git@github.com:hqweay/a.git
git remote add Two git@gitee.com:hqweay/a.git
就实现了一个本地库关联两个远程项目,需要进行操作时就分别通过名称One,Two来操作。
- 关联其它操作
删除关联
git remote rm origin
查询关联
git remote -v
- clone某分支
git clone git@gitee.com:hqweay/BookShopping.git -b 1.0
- 回到某版本
- 使用git log命令查看所有的历史版本,获取某个历史版本的id,假设查到历史版本的id是139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96。
git reset –hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96
- 把修改推到远程服务器
git push -f -u origin master
- 强制push
git push -u origin master
- 同步云端代码至本地
git pull origin 分支名