这里写目录标题
一、Git安装和配置
1.linux上安装git:
- @[TOC](这里写目录标题)
- 一、Git安装和配置
- 1.linux上安装git:
- 2.查看git配置信息
- 3.查看git用户名、密码、邮箱的配置
- 4.设置git用户名、密码、邮箱的配置
- 5.设置git用户名、密码、邮箱的配置(全局配置):
- 6.git生成公钥:
- 7.查看密钥(linux):
- 8.查看密钥(windows):
- 二、操作项目-常用命令汇总
- 1.常用命令
- 2.git子模块命令:
- 2.git报错:命令command not found
- 四、扩展:git-crypt加密解密
- 1.How to Encrypt Repository 如何加密存储库
- 2.How to Decrypt Repository(如何解密存储库)
yum -y install git
2.查看git配置信息
git config --list
3.查看git用户名、密码、邮箱的配置
git config user.name
git config user.password
git config user.email
4.设置git用户名、密码、邮箱的配置
git config user.name "用户名"
git config user.password "密码"
git config user.email "邮箱"
5.设置git用户名、密码、邮箱的配置(全局配置):
git config --global user.name "用户名"
git config --global user.password "密码"
git config --global user.email "邮箱"
6.git生成公钥:
ssh-keygen -t rsa -C "用户名/账号名"
7.查看密钥(linux):
cat ~/.ssh/id_rsa.pub
8.查看密钥(windows):
找到C盘->用户->登录的用户->.ssh文件夹,打开id_rsa.pub文件即是
git init # 把当前的文件夹目录变成可以管理的git仓库,生成隐藏.git文件。
git remote add origin https://github.com/tugenhua0707/testgit
# 关联一个远程库
git clone # 克隆远程版本库
git clone -b
# 按分支克隆远程版本库
git push –u(第一次要用-u 以后不需要) origin master
# 把当前master分支推送到远程库
git status # 查看仓库状态
git checkout –b dev # 创建dev分支 并切换到dev分支上
git branch -a # 查看当前所有的分支
git checkout master # 切换回master分支
git merge dev # 在当前的分支上合并dev分支
git branch –d dev # 删除dev分支
git branch name # 创建分支
git rm XX # 删除XX文件
git rm -r --cached . # 删除缓存区所有文件命令(用于修改ignore文件没有生效的情况)
git add . # 把xx文件添加到暂存区去。
git commit –m “XX” # 提交文件 –m 后面的是注释。
git remote # 查看远程库的信息
git remote –v # 查看远程库的详细信息
git push origin master # Git会把master分支推送到远程库对应的远程分支上
git diff XX # 查看XX文件修改了那些内容
git log # 查看历史记录
git reset --hard HEAD^ 或者 git reset --hard HEAD~
# 回退到上一个版本
git reset –hard HEAD~100
# 回退到100个版本
git reflog # 查看历史记录的版本号id
git checkout -- XX # 把XX文件在工作区的修改全部撤销。
git stash # 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list # 查看所有被隐藏的文件列表
git stash apply # 恢复被隐藏的文件,但是内容不删除
git stash drop # 删除文件
git stash pop # 恢复文件的同时也删除文件
2.git子模块命令:
参考文章:https://www.cnblogs.com/nicksheng/p/6201711.html.
git submodule init 初始化子模块
git submodule update 更新子模块
git submodule foreach git pull 拉取所有子模块
git submodule update --init --recursive 此命令确保现有的子模块是最新的,并在适当的时候添加新的子模块代码
---
## 三、常见错误
### 1.git拉取项目报错:client_loop: send disconnect: Broken pipe
修改vim /etc/ssh/ssh_config文件,在Host *条目下添加 IPQoS=throughput
```shell
Host *
IPQoS=throughput
重启ssh
systemctl restart sshd
或
service sshd restart
2.git报错:命令command not found
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
四、扩展:git-crypt加密解密
Module Configuration(模块配置) All data under secret directory is encrypted using git-crypt.(所有秘密目录下的数据都使用git-crypt加密)
1.How to Encrypt Repository 如何加密存储库安装git-crypt:
sudo apt install git-crypt or brew install git-crypt
为仓库开启git-crypt:
git-crypt init
创建保存加密文件的目录:
mkdir secret
创建.gitattributes以启用加密:
echo '* filter=git-crypt diff=git-crypt' > secret/.gitattributes
echo '.gitattributes !filter !diff' >> secret/.gitattributes
导出对称加密的key文件:
git-crypt export-key /path/to/keyfile
Add files into secret directory and content will be automatically encrypted on push.(添加文件到秘密目录和内容将自动加密推)
2.How to Decrypt Repository(如何解密存储库)安装git-crypt:
sudo apt install git-crypt or brew install git-crypt
获取共享密钥文件.
cd /path/to/repo
git-crypt unlock /path/to/key
和往常一样,文件将在推送到远程存储库时自动加密