记录了本地Git仓库的基本命令和远程仓库的相关命令,以及基础概念。
基本命令
初始化仓库
git init
添加文件
git add fileName.xxx
提交
最好添加描述”xxxxx”
git commit -m "xxxxx"
查询仓库状态
可以看到是否有文件改动,是否需要添加文件、提交文件
git status
查看文件变化
git diff fileName.xxx
查看提交历史
git log
简化输出信息
git log --pretty=oneline
回滚
回到上一个版本
HEAD 表示指向当前版本的指针。^
表示前一个版本,^^
前两个版本…前100个版本可以简写HEAD~100
git reset --hard HEAD^
回到任意版本
xxxxx
是版本号,输入前几位即可
git reset --hard xxxxx
查询执行过的命令
git reflog
比较两个文件的异同
git diff HEAD -- fileName.xxx
丢弃工作区的修改版本
以下命令可以撤销当前文件在工作区的所有修改
git checkout -- fileName.xxx
- 如果文件修改后没有通过
add
命令添加到暂存区。则插销修改会退回到和版本库一模一样的状态 - 如果通过
add
命令添加文件到了暂存区,则恢复到添加到暂存区后的状态。
撤回暂存区内的修改内容
git reset HEAD fileName.xxx
配合git checkout
可以恢复到修改之前的版本。
删除文件
通过rm
命令删除工作区的文件(同时在桌面环境右键
-删除
也可以)。
rm test.txt
以上的操作只是删除了工作区内的文件。仓库中的文件还在。接下来有两种操作。撤销删除和确认删除。
确认删除
git rm test.txt
之后再通过commit
命令提交修改就可以在仓库中删除文件了。
撤销删除
git checkout -- test.txt
远程仓库命令
创建远程仓库并推送
之前做GitHubPages的时候设置好了key,所以本地git可以访问自己的GitHub账户。有疑问可以查看我之前的博客。在GitHub上创建一个和本地同名的仓库。依次执行下面两条指令。可以推送本地仓库代码到远程仓库,实现保存和分享的作用
git remote add origin git@github.com:xxxxx/yyyyy.git
git push -u origin master
xxxxx
表示账户名,yyyyy
表示仓库名
克隆远程仓库
git clone git@github.com:hhyqhh/xxxxx.git
概念
工作区 和 暂存区
工作区是在文件管理器中可以直接看到的,所有的文件操作也可以在这里操作。而暂存区是git初始化时创建的隐藏目录。当执行add命令的时候吗,就是把文件提交到了暂存区,当执行commit的时候,就是把暂存区的文件提交到Master树下(默认工作树)。