一、Linux系统git 安装总结
- Ubuntu 系统默认已有git,不需要安装,但是默认git版本较低。
- 升级Linux中git的版本
# 查看git版本
git --version
# 更新git版本
sudo apt update # 更新源
sudo apt install software-properties-common # 安装 PPA 需要的依赖
sudo add-apt-repository ppa:git-core/ppa # 向 PPA 中添加 git 的软件源
sudo apt-get update
sudo apt-get install git
二、Window系统下git安装总结
2.1 git软件下载
2.2 升级安装版本
# 在git bash
git update-git-for-windows
git update
三、git 密钥生成
3.1 无密钥下载不了程序
3.2 密钥生成
# 查看是否有密钥
ls ~/.ssh
# 生成密钥
# 提示“Enter passphrase (empty for no passphrase):”直接回车,以后就可以不用频繁输入密码操作
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# 复制密钥添加到githug
cat ~/.ssh/id_rsa.pub
四、首次使用配置
# 配置基本信息
# 设置用户名
git config -- global user.name '你再github上注册的用户名'
# 设置用户邮箱
git config -- global user.email '注册时候的邮箱';
# 查看配置情况
git config --list
# 配置完成后,即可使用git
五、git 基础操作
六、编写gitignore文件
".gitignore"的文件告诉Git系统要忽略掉哪些文件。
6.1 忽略文件原则
- 忽略操作系统自动生成的文件,比如缩略图等;
- 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
- 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
6.2 语法规范(熟悉正则很容易理解)
- 空行或是以#开头的行即注释行将被忽略;
- 以斜杠 “/” 结尾表示目录;
- 以星号 “*” 通配多个字符;
- 以问号 “?” 通配单个字符
- 以方括号 “[]” 包含单个字符的匹配列表;
- 以叹号 “!” 表示不忽略(跟踪)匹配到的文件或目录;
- 可以在前面添加斜杠 “/” 来避免递归
6.3 举例
# 忽略 .a 文件
*.a
# 但否定忽略 lib.a, 尽管已经在前面忽略了 .a 文件
!lib.a
# 仅在当前目录下忽略 TODO 文件, 但不包括子目录下的 subdir/TODO
/TODO
# 忽略 build/ 文件夹下的所有文件
build/
# 忽略 doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt
# 忽略所有的 .pdf 文件 在 doc/ directory 下的
doc/**/*.pdf
七、实践问题
7.1 使用reset回退版本后,找不到最新版本的解决办法
# 找出当前被丢弃的提交
git fsck --lost-found
# 显示提交的具体信息
git show <commit id>
# 回滚到指定的提交
git reset --hard <commit id>
具体操作: