1.git init: 把一个目录变成Git可以管理的仓库,当前目录下会生成一个.git
的目录,这个目录是Git来跟踪管理版本库的.
2.git add 添加文件到暂存区
(1)git add . 他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件
(2)git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
(3)git add -A :是上面两个功能的合集(git add --all的缩写)
3.git commit:将暂存区里的改动给提交到本地的版本库。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里.
(1)git commit -m “message”
(2)git commit -a -m “massage”
加的-a参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库,即使它们没有经过git add添加到暂存区,注意,新加的文件(即没有被git系统管理的文件)是不能被提交到本地仓库的。建议一般不要使用-a参数,正常的提交还是使用git add先将要改动的文件添加到暂存区,再用git commit 提交到本地版本库。
(3) git commit --amend
如果我们不小心提交了一版我们不满意的代码,并且给它推送到服务器了,在代码没被merge之前我们希望再修改一版满意的,而如果我们不想在服务器上abondon,那么我们怎么做呢? git commit --amend //也叫追加提交,它可以在不增加一个新的commit-id的情况下将新修改的代码追加到前一次的commit-id中
4.git status
可以让我们时刻掌握仓库当前的状态
5.git diff + 文件名: 查看该文件两次修改的difference
6.注意:提交修改和提交新文件的操作是以一样的:
(1)git add (2)git commit
7.git log:显示从最近到最远的提交日志
git reset --hard commit_id,在版本的历史之间穿梭,head指向当前版本
用git log
可以查看提交历史,以便确定要回退到哪个版本
要重返未来,用git reflog
查看命令历史,以便确定要回到未来的哪个版本
8.撤销修改
(1)git checkout --文件名 可以撤销文件在工作区的修改
(2)git reset 文件名
可以撤销指定文件的 git add
操作,即这个文件在暂存区的修改。
(3)git reset 命令可以撤销之前的所有 git add
操作,即在暂存区的修改。
9. git rm +文件名:用于删除一个文件