安装
一直默认next即可
初始全局配置
建议使用github的账号信息
git config --global user.name "用户名"
git config --global user.email "邮箱"
创建仓库
在当前目录中
mkdir git_test
cd git_test
git init #初始化仓库(让仓库知道要管理当前文件夹),会创建.git隐藏目录
常用指令
- git status: 查看当前状态
- git add filename: 添加到缓存区
- git add file1 file2 file2
- git add . :将当前目录添加到缓存区中
- git commit -m "annotation": 提交至版本库
版本回退
- 查看版本:
- git log
- git log --pretty=oneline #每一行都是一个时间点
commit 后面的长串数字就是版本号,相当于时间戳,其实前7位就行。
- 回退操作:
git reset --hard 版本号3
回退到版本3,版本3之后的版本号就没了。
回到过去后,如果想再回到刚才最新的版本5,则需要使用指令去查看历史操作,以得到最新的commit id(版本号)
git reflog
查看版本历史操作
连接远程仓库
- 创建空目录
- 使用clone指令复制线上仓库到本地:
git clone 远程仓库地址
- 在仓库上做对应操作(提交暂存区,提交本地仓库,提交线上仓库,拉取线上仓库)
- 提交到线上仓库的指令:
git push
- 拉取线上仓库:
git pull
- 登录
4.1 https连接
修改.git中的config文件中的url:
url = https://用户名:密码@github.com/qianshan1/test.git
4.2 ssh连接
- 安装openssh
- 生成公私钥对:ssh-keygen -t rsa -C "注册邮箱"
会在目录:C:\Users\b2acm.ssh中id_rsa私钥和id_rsa.pub公钥,将公钥中的内容复制到github账户中即可。
分支操作
- 查看分支: git branch
- 创建分支: git branch 分支名
- 切换分支: git checkout 分支名
- 删除分支: git branch -d 分支名
- 合并分支: git merge 被合并的分支名
git checkout -b 分支名: 先创建分支,再切换到该分支
忽略文件
- touch .gitignore 新建.gitignore文件,对当前目录及其子目录生效。被过滤的在git push时不会传到远程仓库
.gitignore文件的语法
- /myfolder/ 过滤整个myfolder文件夹
- *.zip 过滤所有zip文件
- /myfolder/do.txt 过滤具体某个文件
- !index.php 不过滤具体某个文件
在文件中,以#开头的是注释