- ssh-keygen -t rsa -C "email"
用于生成ssh密钥对。
-t rsa指定使用RSA算法生成密钥对。
-C注释:通常是邮箱
- ssh -T git@github.com
通过ssh与GitHub进行身份验证
- git init 初始化本地仓库
- git status
查看当前本地仓库的状态(显示已修改、已暂存或未跟踪的文件以及其他版本控制信息)
- git add filename
将文件添加到git的暂存区
git add .
添加当前分支所有文件到暂存区
- git log
查看git仓库的提交日志(显示最近到最早的提交记录、包括提交的作者、日期、时间戳和提交信息)
git log --pretty=short
只显示第一行简述信息
git log fiename git log --pretty=short filename
只显示与该文件有关的日志
git log -p git log -p filename
显示提交日志以及提交前的差别
git log --graph git log --graph filename
以图标形式输出提交日志
- git push
将本地的当前分支推送到远程仓库
- git commit -m "description"
提交信息并记述一行提交信息
git commit
提交信息并记述详细提交信息
git commit -am "description"
表示不用add到暂存区,直接提交
git commit -amend
修改最近一次提交的信息
- git diff
查看当前工作树与暂存区的差别(暂存区没有东西,就只会显示工作树与最新提交状态之间的差别),如果状态没有差别则不显示
内容:+ 表示新添的行,- 表示被删除的行
git diff HEAD
查看本次提交与上次提交之间的差别
- git branch
显示分支列表,同时确认当前所在分支
git branch -d tree
删除tree分支
git branch -D tree
强制删除tree分支
git branch -a
查看本地仓库和远程仓库的分支信息
- git checkout tree-A
导航到tree-A分支
git checkout -b tree-A
创建名为tree-A的分支并导航到它
git checkout -
切换到上个分支
git checkout -b tree-A remote/tree-A
本地创建tree-A分支获取remote/tree-A分支作为来源
- git merge tree-A
合并tree-A分支
git merge --no-ff tree-A
禁止快进式的方式合并tree-A分支
- git reflog
查看当前仓库的操作日志
- git reset --hard hash
回溯历史
- git rebase -i HEAD~2
压缩历史,HEAD~2表示两个最新历史记录
将要压缩的历史 pick改为fixup保存
- git remote add origin git@github.com:username/***.git
添加远程仓库并标识为origin
- git push -u origin master
将当前分支推送到远程仓库origin/master分支
-u作用:将当前分支和远程仓库进行关联,下次在当前分支执行git push就不用再指定orgin master远程仓库分支了
git push origin tree-B
将当前分支推送到origin/tree-B分支
- git pull origin tree-B
拉取远程仓库tree-B分支和本地当前分支自动合并 - git fetch origin tree-B
拉取远程仓库tree-B分支
补充:
git pull和git fetch都是用于更新最新数据
区别就是git fetch不会自动合并,需要手动合并。可以理解为git pull是git fetch和git merge的结合。
删除本地仓库:
ls -a 显示隐藏文件
rm -rf .git 删除隐藏的.git目录,当前目录就不是git仓库了
Git Bash 命令和linux命令相似,建议学git前学习一下linux,了解基础linux命令