设置用户名邮箱
git config user.name "用户名"
git config user.email "Email 地址"
git init:在项目根目录下初始化一个.git的隐藏目录,用来保存版本信息。
git add:保存对象和更新暂存区
git add --all 对当前项目所有变动的文件
git add . 对当前目录及以下变动的文件
git commit
将暂存区保留变动的目录结构和说明提交写入历史,生成当前项目的一个快照,项目的历史就是由不同时点的快照构成。
git checkout
命令用于切换到某个快照:git checkout c9053865e9dff393fd2f7a92a18f9bd7f2caa7fa
branch
分支(branch)就是指向某个快照的指针,分支名就是指针名。而且分支会自动更新,如果当前分支有新的快照,指针就会自动指向它。比如,master分支就是有一个叫做master指针,它指向的快照就是master分支的当前快照。
Git 有一个特殊指针HEAD, 总是指向当前分支的最近一次快照。Git 提供了简写方式,HEAD^指向 HEAD的前一个快照(父节点),HEAD~6则是HEAD之前的第6个快照。
每一个分支指针都是一个文本文件,保存在.git/refs/heads/目录,该文件的内容就是它所指向的快照的二进制对象名(哈希值)。
分支指针是动态的。原因在于,下面三个命令会自动改写分支指针。
git commit:当前分支指针移向新创建的快照。
git pull:当前分支与远程分支合并后,指针指向新创建的快照。
git reset [commit_sha]:当前分支指针重置为指定快照。
git log:查看版本历史,可以配合git reset来回退版本
git reset --hard HEAD:回滚版本
git fetch :把远程库的代码更新到本地库
git merge:合并代码
git pull:把远程库的代码更新到工作台,效果等于git fetch + git merge
git push :把本地库的修改提交到远程库中
git status:查看当前分支有哪些修改
git diff :查看当前没有add的内容
git clone:克隆一份代码到本地仓库