Commands:
git init 把当前目录变成Git可以管理的仓库
随后出现.git目录,这个目录是Git来跟踪管理版本库的
git commit -m "change message" 提交代码到Git
git add file1.txt
git add file2.txt 先添加多个文件 之后一起提交
git status 命令可以让我们时刻掌握仓库当前的状态
比如:文件是否被修改,修改后是否提交
git diff readme.txt 查看这个文件上次修改具体改了那些内容
git中的一次commit 是仓库的一个快照,一旦文件出现了差错,可以从最近的一个
commit恢复
git log 显示最近到最远的提交日志,用于回溯版本
get reset --hard [HEAD^|commit id]
git reflog 现实对版本库的各种操作记录,用于重返未来
工作区:电脑里能看到的目录
版本库:.git(隐藏目录),Git的版本库
Git的版本库里有很多东西,其中最重要的就是stage(暂存区)+master
把文件往Git版本库里提交的时候,分两步执行:
git add 把 文件添加到暂存区
git commit 把暂存区的所有文件提交到当前分支
一旦提交后,如果没有对工作区做任何修改,那么工作区的status就是“干净”的
第一次修改->git add -> 第二次修改 -> git commit
git commit负责的是把暂存去的文件提交了,第二次修改的内容u会被提交。
正确步骤:第一次修改->git add -> 第二次修改 -> git add -> git commit
git diff HEAD --readme.txt 查看工作区和版本库里面最新版本的区别
git checkout --readme.txt 用版本库里的版本替换工作区的版本
有两种情况:
readme.txt 自修改后还没有放到缓存区,执行后会回到和版本库一模一样的状态。
readme.txt 已经添加到暂存区后,又做了修改,
总之,是让这个文件回到最近一次git commit 或 git add的状态
git reset HEAD file 把暂存区的修改回退到工作区(unstage)
git rm test.txt 删除版本库的test.txt文件
git push -u origin master 将本地库所有的内容推送到远程库上
git checkout -b dev 创建dev分支并切换
相当于下面两条命令:
git branch dev + git checkout dev
git branch 列出所有分支,当前分支会标*号
git checkout master 切换到master分支
git merge dev 把dev分支的工作成功合并到master分支上
git branch -d dev 删除dev分支
带参数的git log 看到分支的合并情况
git log --graph --pretty=oneline --abbrev-commit