git配置(git config)
1 2 3 4 5 6
| git --version
git config --global user.name "zishuQ" git config --global user.email "zishuq77@foxmail.com" git config --global credential.helper store git config --global --list
|
省略(Local):本地配置,只对本地仓库有效
- -global:全局配置,所有仓库生效(用的最多)
- -system:系统配置,对所有用户生效(一般不会用到)
创建仓库(git init/clone)
可以通过两种方法建立仓库
1 2
| git init [repo name] git clone
|
1 2 3
| git init git init my-repo git clone https://github.com/geekhall-laoyang/remote-repo.git
|
工作区域
文件状态(git status)
1 2 3 4 5 6 7 8 9 10
| git status git add git add [filename] git add *.txt git add . git commit git commit git commit -m "message"
|
回退版本(git reset)
1 2 3
| git reset --soft git reset --hard git reset --mixed
|
谨慎使用 –hard 参数,如果不小心删除了内容,也可以进行回退操作,如下
1 2
| git reflog git reset --hard [想要回退的id]
|
查看差异(git diff)
1 2 3 4 5 6 7
| git diff git diff HEAD git diff --cached git diff [id_1] [id_2] git diff HEAD HEAD~ git diff HEAD HEAD~2 git diff HEAD HEAD~ [filename]
|
删除文件(git rm)
忽略文件(.gitignore)
应该忽略哪些文件
- 系统或者软件自动生成的文件
- 编译产生的中间文件和结果文件
- 运行时生成日志文件、缓存文件、临时文件
- 设计身份、密码、口令、密钥等敏感信息文件
匹配规则
- 从上到下逐行匹配,每一行表示一个忽略模式
- 空行或者以**#开头的行会被Git忽略。一般空行可用于可读性的分割,#**一般用作注释
- 使用标准的Blob模式匹配,例如:
- 星号 ***** 通配任意个字符
- 问号 ? 匹配单个字符
- 中括号 [] 表示匹配列表中的单个字符,比如:[abc]表示a/b/c
- 两个星号 ****** 表示匹配任意的中间目录
- 中括号可以使用短中线连接,比如:
- [0-9]表示任意一位数字,[a-z]表示任意一位小写字母
- 感叹号 ! 表示取反
示例
编写 .gitignore 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| *.a
!lib.a
/TODE
build/
doc/*.txt
doc/**/*.pdf
|
可以在 github 中搜索 gitignore 里面找自己需要的模板
SSH配置和克隆仓库
1 2 3
| ssh-keygen -t rsa -b 4096 私钥文件:id_rsa 公钥文件:id_rsa.pub
|
- 将公钥添加到github
- Settings
- SSH and GPG keys
- New SSH key
关联本地仓库和远程仓库
VSCode里面的使用
分支简介和基本操作
解决冲突
回退和rebase
针对无法上传的问题
我明白了。如果这是你自己的仓库,那么你可能需要检查你的SSH密钥是否正确配置。你可以参考这篇文章来设置和测试你的SSH密钥。如果你已经设置好了SSH密钥,那么你可能需要检查你的远程URL是否正确。你可以使用以下命令来查看你的远程URL:**$ git remote -v
。如果你的URL是以https开头的,那么你可能需要改成以ssh开头的,这样才能使用SSH密钥来认证。你可以使用以下命令来改变你的远程URL:$ git remote set-url origin git@github.com:zishuQ/VPS.git
**。希望这些方法能够解决你的问题。
1
| git remote set-url origin git@github.com:zishuQ/VPS.git
|