git安装之后,创建一个文件夹作为git仓库
1.初始化git仓库
git init
初始化后会生成.git隐藏文件
2.设置签名
git config user.name [设置名字(任意)]
git config user.email [邮箱(任意)]
查看签名设置是否设置成功
$ cat .git/config
3.将文件从自己的工作空间添加到暂存区
git add [file name]
4.将暂存区的内容提交到本地仓库
git commit -m “description message” [file name]
5.状态查看
git status
6.查看历史记录
方式一:
git log
方式二: (简洁)
git log --pretty=oneline
方式三: (更简洁)
git log --oneline
方式四: (该方式可以看到指针,历史记录的索引)
git reflog
提示: 日志太多, 可以多屏显示
控制方式:
- 空格向下翻页
- b向上翻页
- q退出
7.版本历史
- 基于索引值的操作(推荐)
回退到指定哈希值的版本, hard参数表示将本地仓库,暂存区,和自己的工作空间都一同回退到指定版本
git reset --hard [局部索引值]
git reset --hard 0827066
- 使用^符号: 只能回退 (HEAD头指针)
git reset --hard HEAD^
- 使用~符号: 只能回退
git reset --hard HEAD~n
n指定回退的步数
每一步操作都会有对应的记录,如果删除了某个文件,想找回来,可以回退到未删除时候的版本,文件即可找回
前提: 删除前,文件存在时的状态提交到了本地库
8.比较文件差异
git diff [文件名]
将自己工作区的文件和暂存区文件作比较
git diff [本地仓库历史版本] [文件名]
将工作区的文件和本地仓库历史记录比较
9.查看所有的分支
git branch -v
10.创建分支
git branch [分支名]
11.切换分支
git checkout [分支名]
12.合并分支
- 步骤1: 切换到接受修改的分支上
git checkout [接受修改的分支名]
- 步骤2: 执行合并命令
git merge [有新内容的分支名]
远程仓库部分
1.查看已经设置的远程仓库别名
git remote -v
2.为远程仓库设置别名
git remote add [别名] [https格式的远程仓库地址]
例子: git remote add origin https://github.com/lighthouse-star/github-test.git
origin为仓库别名
https://github.com/lighthouse-star/github-test.git为远程仓库地址
3.克隆远程库
git clone [远程仓库地址]
git clone https://github.com/lighthouse-star/github-test.git
效果
- 完整的把远程仓库下载到本地
- 创建orgin远程仓库的别名
- 初始化本地仓库
4.拉取
git fetch [远程仓库地址别名] [远程分支名]
git merge [远程仓库地址别名]/[远程分支名]
git pull [远程仓库地址别名] [远程分支名]
fetch 拉取到本地, 保存到 [远程地址别名]/[远程分支名] 的分支下
merge 将 [远程地址别名]/[远程分支名] 的分支和当前所在分支合并
pull 拉取到本地,直接合并到当前所在分支
pull = fetch+merge
ssh登录方式
1.进入家目录
cd ~
2.删除.ssh目录
rm -rvf .ssh
3.执行生成密钥(注意C是大写)
ssh-keygen -t rsa -C [注册github的邮箱]
执行后,会生成.ssh目录,里面有两个文本文件
- id_rsa.pub: 公钥文本文件,需要上传到github上
- id_rsa: 密钥文本文件,个人保存,绝对不可以泄露
查看公钥内容
将公钥上传到github上
将SSH格式的仓库地址复制到git上,并为仓库起别名
git remote add [仓库别名] [仓库地址(SSH格式)]
git remote -v
修改文件,提交测试(直接可以提交,无需每次进行登录)
git push [仓库别名(SSH格式的仓库地址的别名)] [分支名]
补充:eclipse或者idea中使用git,需要忽略掉开发工具本身的一些文件
配置文件查找
GitHub 官网样例文件
https://github.com/github/gitignore
Java语言的文件
https://github.com/github/gitignore/blob/master/Java.gitignore
复制以上内容,找到家目录(C:/Users/用户名),创建一个文本文件,将内容粘贴到里面
然后找到.gitconfig隐藏文件,修改配置,追加以下内容,即可让git忽略掉指定名字的文件
[core]
excludesfile = C:/Users/Starbug/配置文本文件名字