由于git的命令有很多,在这里我们只去讲解常用的命令
第一个和第二个命令是设置用户签名(用户名,邮箱),只需要设置一次,并且必须要配置不然后面提交代码时候会报错,命令如下,
要看是否设置成功可以去C盘用户名为命令板上的目录下有一个.gitconfig文件,用文本打开,如下就配置成功:
签名的作用是区分不同的操作者身份
- git init -----初始化本地库的
2.git status ----初始化本地库初始化git后需要看一下git的状态
可以发现有三行日志
On branch master表示当前分支是master
No commits yes 表示当前并没有提交任何文件
Nothing to commit(create/copy files and use “git add” to track)
表示没有任何可以提交的文件,也就是在我们的工作区git-demo目录下没有创建任何文件,现在我们在工作区目录下创建一个txt文件目录:
再次查看git状态:
会发现最后一条日志变了,
Untracked files:(use “git add <file>...” to include in what will be committed)git
表示未追踪文件,也就是文件有了,但未有提交文件,使用 git add <file>命令....
将文件从工作区提交到暂存区,git跟踪
3.Git add <file> 将文件从工作区提交到暂存区
此刻再去查看git状态:
可以发现文件名由红变为了绿表示git追踪到了git.txt,此刻该文件存放在暂存区
在暂存区的文件是可以删除的,可以看到日志中已经提示了使用git rm --cached<file>...
Cache:n.. 隐藏处,秘窖;贮藏物 v.匿藏,隐藏(尤指武器)
此刻在看一下git的状态,可以发现又变回来了:
表示该文件已经从暂存区中删除
4.接下来就是需要将暂存区中的文件提交到本地库,形成历史版本
git commit -m “日志信息” 文件名
667d65f表示提交后的版本号
然后再看一下git的状态:
Nothing to commit,working tree clean,表示工作区的文件多已经提交成功,没有任何可以提交的了
5.查看版本信息命令:git reflog
667d65f 版本号 HEAD表示当前指针指向的是master分支的
也可以使用git log
可以看到上面包含了完整版的版本号,包括用户签名
更改git.txt文件来模拟程序中对代码的再次修改,提交,更新版本:
Modified:表示本地文件已经被修改了
可以看出当前指针指向了新提交的版本
可以看到提交的人,以及提交日期
6.查看历史版本和版本穿梭:
查看历史版本就是之前讲到过的git reflog和git flog命令
版本穿梭,当项目对于当前版本不满足可以回退(穿梭)
任何一个版本
使用git reset --hard <穿梭目标的版本号>
可以看到日志中HEAD指针指向了第二个版本,而且记录了一条moving to 0a03578
还可以再工作区中的.git目录中的HEAD文件中,指向master分支
在refs目录中
git的底层实现就是指针