基本流程

创建工作区
$ mkdir workspace
创建版本库
$ cd workspace
$ git init

系统自动生成了一个隐藏目录.git,这个不算工作区,而是Git的版本库。

新增一个文件

$ echo "Hello" > hello.txt
查看状态
$ git status
On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        hello.txt

nothing added to commit but untracked files present (use "git add" to track)

可以看到,新加入的文件已经被 git 检测到,处于 untracked 状态,显示为红色,并提示使用 git add 命令进行提交

提交
第一步:使用 git add 命令,将文件修改添加到暂存区
$ git add hello.txt

再次查看一下状态

$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   hello.txt

可以看到,文件已经被成功提交到暂存区,new file 意思是这个文件是新增的文件。

同样有提示:git rm –cached \

第二步:使用 git commit 命令,提交更改,将暂存区的所有内容提交到当前分支
$ git commit hello.txt -m "just test"

其中 -m 参数是提交时的说明,git 每一次提交都需要对当次提交内容进行描述,以方便日后更清楚地知道提交的内容。

再次查看一下状态

$ git status

这里写图片描述

查看提交日志
$ git log --pretty-oneline

这里写图片描述

其它命令

回退版本
$ git reset --head <logid>

回退版本还有一个特殊的命令

$ git reset --head HEAD

表示回退至最新版本

这个命令会忽略本地修改,将版本回退至某一个历史版本。必须要慎重使用,以免将辛苦了大半天的成果给一键抹掉。

撤销修改

场景:
1、修改文件内容,

hello Git
2、提交

$ git add hello.txt

3、再次修改文件内容,

hello Git,Welcome
4、查看状态

$ git status

这里写图片描述

可以看到,即有上一次修改并提交的部分,也有最新修改尚未提交的部分,如果此时希望将最新修改的部分放弃掉,即撤回修改。

$ git checkout -- hello.txt

再次查看状态

$ git status

这里写图片描述

可以看到,最新修改的部分已经被撤消了。

删除文件

本地删除并查看状态

$ rm hello.txt
$ git add hello.txt
$ git status

这里写图片描述

这时会有两种情况,
第一种是确实需要删除该文件,直接提交即可

$ git commit hello.txt

第二种是误操作,其实并不是真的要删除该文件,没关系,提交还在暂存区,直接撤消修改即可。

$ git checkout -- hello.txt
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐