这是我参与「第四届青训营 」笔记创作活动的第1天。
git是什么
git全名为分布式管理控制系统,可以有效的控制代码编辑并高效的与他人合作,是组队开发必不可少的利器。
git常见命令
1.创建版本库
版本库又名仓库(repository),在项目(可以是空项目)所在的目录下右键git bash,输入
git init 目录下多了一个.git隐藏目录,用来管理版本库。
2.将文件添加到版本库
add 文本文件要在创建仓库的目录中,把文件添加到仓库
git add 文件名
commit 把文件提交到仓库
git commit -m "wrote a readme file" -m后面输入的为本次提交的说明
commit一次可以提交很多文件,所以可以用多次add不同文件
git add file1.txt git add file2.txt file3.txt git commit -m "add 3 file."
3.查看状态
git status
可以知道那个文件被修改了,如果修改的文件没使用add,会告诉还没有准备提交的修改 否则,会提示要被提交的修改。 commit之查看状态后
git status On branch master nothing to commit,working tree clean
git diff 文件名 知道文件具体有哪些修改
4.版本回退
每次commit都会被记录为一个版本
git log git log --pretty=online
查看历史记录,显示从最近到最远的提交日志。显示版本号为一大串十六进制数字,称为commit id
如果要回退到以前版本,git必须知道以前版本是哪个版本,git用head表示当前版本,上一个版本head^ ,上上个版本head^^,可以写成head~100
回到上一个版本
git reset --hard HEAD^
这时候查看历史记录git log,发现最近的版本不见了,但只要命令窗口还未关闭,就可以使用git reset --hard 版本号前几位复原。
git reflog,记录每一次命令。
工作区与暂存区
工作区(Working Directory) 在电脑中能看到的目录
版本库(Repository) 工作区中的一个隐藏目录,是git版本库,其中最重要的为stage(暂存区),以及git为我们创建的第一个分支master,和指向master一个指针HEAD
- 第一步git add把文件添加到暂存区
- 第二部git commit把暂存区内容提交到当前分支。
1.管理修改
git跟踪并管理的是修改而非文件。git commit只负责把暂存区修改提交,如果修改文件后没有git add是不会有变化的。
2.撤销修改
git checkout -- 文件名,把文件在工作区的修改全部撤销
- 文件修改后还没有放到暂存区,撤销修改回到和版本库一模一样的状态
- 文件修改后添加到了暂存区,然后又做了修改,这是撤销修改回到添加到暂存区后状态。
- 总之,就是让这个文件回到最近一次commit,或者add的状态
git reset HEAD 文件名 把暂存区修改全部撤销到工作区。
3.删除文件
在工作区删除文件,git status会显示此次修改
- 确实从版本库中删除该文件git rm 文件名,然后git commit
- 恢复删除git checkout -- 文件名
总结
作为编程小白,git需要有一定的了解,这样才能为以后的组队开发打好基础。今天记录的还不够完善,过几天再继续补充。