1.安装Git、TortoiseGit和汉化包
Git官网: Git
TortoiseGit和汉化包:
Download – TortoiseGit – Windows Shell Interface to Git
2.常用命令
创建仓库命令
git init | 初始化仓库 |
git clone | 拷贝一份远程仓库,也就是下载一个项目。 |
提交与修改
git add | 添加文件到暂存区 |
git status | 查看仓库当前的状态,显示有变更的文件。 |
git diff | 比较文件的不同,即暂存区和工作区的差异。 |
git commit | 提交暂存区到本地仓库。 |
git reset | 回退版本。 |
git rm | 将文件从暂存区和工作区中删除。 |
git mv | 移动或重命名工作区文件。 |
git checkout | 分支切换。 |
git switch (Git 2.23 版本引入) | 更清晰地切换分支。 |
git restore (Git 2.23 版本引入) | 恢复或撤销文件的更改。 |
提交日志
git log | 查看历史提交记录 |
git blame <file> | 以列表形式查看指定文件的历史修改记录 |
远程操作
git remote | 远程仓库操作 |
git fetch | 从远程获取代码库 |
git pull | 下载远程代码并合并 |
git push | 上传远程代码并合并 |
3.使用bat文件或者sh文件执行git命令
window使用bat文件,mac使用sh文件
例如下面的文件是强制清除本地修改代码,切换分支,拉取代码;
复制下面的内容,新建txt文本粘贴以下内容,修改文件后缀名为.bat,双击即可执行
git reset --hard
git clean -df
git checkout develop
git pull
git status
Mac平台参考
#!/bin/bash
#切换至当前目录
Cur_Dir=$(pwd)
echo $Cur_Dir
git reset --hard
git clean -df
git fetch -v "origin"
git checkout dev
git pull
git status
4. 跨源合并,设置多个远端
比如项目基于开源项目,开源项目还在更新;你的项目已经启了,还需要同步更新开源项目的代码;像下面这样添加开源项目源地址,origin是一开始设置的自己的项目源
如果不能正常合并,参考下面的错误4.fatal: refusing to merge unrelated histories
5.增加SSH秘钥
如何配置SSH密钥及自定义SSH认证密钥的路径_云效(Apsara Devops)-阿里云帮助中心
6.常见问题
1.No supported authentication methods available (server sent:publickey)
TortoiseGitPlink
解决方法:TortoiseGit默认SSH客户端是TortoiseGitPlink,替换Git自带的SSH客户端即可正常
1.复制Git ssh路径
默认路径是C:\Program Files\Git\usr\bin\ssh.exe
2.在设置=>网络=>SSH修改
2.git拉取代码时出现Filename too long错误
设置全局变量global core.longpaths为true
git config --global core.longpaths true
git拉取代码时出现Filename too long错误&Git处理长路径_git提交文件路径过长-CSDN博客
3.https登录修改账号密码:凭据管理器
4.fatal: refusing to merge unrelated histories
在你操作命令后面加--allow-unrelated-histories
例如:
git merge master --allow-unrelated-histories
5.Failed to connect to github.com port 443: Connection refused
解决方法:修改IP地址与域名间的映射
首先得到github.com的ip地址,查询hosts
文件,打开下面路径即可找到本机的hosts文件,添加地址
-
C:\Windows\System32\drivers\etc
Failed to connect to github.com port 443: Connection refused问题解决-CSDN博客
6.RPC failed; HTTP 400 curl 22 The requested URL returned error: 400
修改提交缓存区大小为5GB,或者更大的数字,该方式全局生效,一劳永逸
git config --global http.postBuffer 5242880000