git基本命令

GIT(global information tracker),全局信息跟踪器----------一个版本控制工具

git bush的应用。

* 首先在本地创建一个仓库(repository)
1. 创建一个目录
2. 将目录初始化为一个仓库
Administrator@USERCHI-ESLRVCD MINGW64 ~
$ mkdir aha      //在当前目录下创建一新目录
Administrator@USERCHI-ESLRVCD MINGW64 ~
$ cd aha          //进入该目录下
Administrator@USERCHI-ESLRVCD MINGW64 ~/aha
$ pwd             //查看当前文件所处目录
/c/Users/Administrator/aha
Administrator@USERCHI-ESLRVCD MINGW64 ~/aha
$ git init              //将当前目录初始化为repository(仓库)
Initialized empty Git repository in C:/Users/Administrator/aha/.git

注意:在创建的仓库目录下多了一个.git文件,其作用是为了用来跟踪版本库的

* 新建文件提交代码

	1. 在git仓库下新建一readme.txt文件,注意该文件不能用电脑自带的纯文本文件创建,可以用其他工具如:notepad++。。。
	2. 将更改的文件添加到暂存区
	3. 将暂存区的文件进行提交
Administrator@USERCHI-ESLRVCD MINGW64 ~/aha (master)
$ git add readme.txt              //将文件添加到暂存区,添加多个文件时,可以多次反复使用。
Administrator@USERCHI-ESLRVCD MINGW64 ~/aha (master)
$ git commit -m "the first"         //将暂存区的文件提交,其中 -m后输入的时本次提交的说明,必填,最好是有意义的说明
[master (root-commit) 6dae22e] the first
 1 file changed, 1 insertion(+)
 create mode 100644 readme.txt
* 查看版本库的状态,比如进行了那些更改

git log命令用于查看提交历史,

--pretty=oneline ,这个参数的作用是为了让记录信息显示在一行,内容进行了一定是缩减

git reset --hard HEAD^ ,将当前版本回退到前一个版本,其中HEAD表示当前版本,HEAD表示上一个版本,HEAD^表示上上个版本,之前更远的版本可以用HEAD~3来表示

git reset --hard commit_id ,如果回退到某个版本以后,后悔了,想返回到新版本时,我们该怎么办呢。可以查看相关数据,找到最新版本的Commit_id,如果在当前页面找不到时,可以通过命令 git reflog来查找。。。

git reflog ,查看命令历史,以便确定回到那个版本。

Administrator@USERCHI-ESLRVCD MINGW64 ~/myRepository (master)
$ git log --pretty=oneline
5a811fd6b0cb6d69c3ed684d6cda1c9c850fc3e3 (HEAD -> master) slideShow
2e91ce59216c4c8544978f879906cd838c204e82 more inlustrate
2e898702643f11e52f9945549b60ef9b88e6dfc7 (origin/master) push journey sed
139f0d86faaff21fb20a785d639bab99072511b3 push the journey
f76b74ac06c22871addbe8cd5a161056e49ccd17 Initial commit
Administrator@USERCHI-ESLRVCD MINGW64 ~/myRepository (master)
$ git reset --hard HEAD^
HEAD is now at 2e91ce5 more inlustrate
Administrator@USERCHI-ESLRVCD MINGW64 ~/myRepository (master)
$ git reset --hard 5a811fd6
HEAD is now at 5a811fd slideShow
Administrator@USERCHI-ESLRVCD MINGW64 ~/myRepository (master)
$ git log --pretty=oneline
5a811fd6b0cb6d69c3ed684d6cda1c9c850fc3e3 (HEAD -> master) slideShow
2e91ce59216c4c8544978f879906cd838c204e82 more inlustrate
2e898702643f11e52f9945549b60ef9b88e6dfc7 (origin/master) push journey sed
139f0d86faaff21fb20a785d639bab99072511b3 push the journey
f76b74ac06c22871addbe8cd5a161056e49ccd17 Initial commit

Administrator@USERCHI-ESLRVCD MINGW64 ~
$ cd myRepository
Administrator@USERCHI-ESLRVCD MINGW64 ~/myRepository (ma                                                                              ster)
$ git reflog
5a811fd (HEAD -> master) HEAD@{0}: reset: moving to 5a81                                                                              1fd6
2e91ce5 HEAD@{1}: reset: moving to HEAD^
5a811fd (HEAD -> master) HEAD@{2}: reset: moving to 5a81                                                                              1fd6b0c
2e91ce5 HEAD@{3}: reset: moving to 2e91ce59
2e91ce5 HEAD@{4}: reset: moving to HEAD^
5a811fd (HEAD -> master) HEAD@{5}: commit: slideShow
2e91ce5 HEAD@{6}: commit: more inlustrate
2e89870 (origin/master) HEAD@{7}: rebase finished: retur                                                                              ning to refs/heads/master
2e89870 (origin/master) HEAD@{8}: pull --rebase origin m                                                                              aster: push journey sed
139f0d8 HEAD@{9}: pull --rebase origin master: push the                                                                               journey
f76b74a HEAD@{10}: pull --rebase origin master: checkout                                                                               f76b74ac06c22871addbe8cd5a161056e49ccd17
:...skipping...
5a811fd (HEAD -> master) HEAD@{0}: reset: moving to 5a811fd6
2e91ce5 HEAD@{1}: reset: moving to HEAD^
5a811fd (HEAD -> master) HEAD@{2}: reset: moving to 5a811fd6b0c
2e91ce5 HEAD@{3}: reset: moving to 2e91ce59
2e91ce5 HEAD@{4}: reset: moving to HEAD^
5a811fd (HEAD -> master) HEAD@{5}: commit: slideShow
2e91ce5 HEAD@{6}: commit: more inlustrate
2e89870 (origin/master) HEAD@{7}: rebase finished: returning to refs/heads/master
2e89870 (origin/master) HEAD@{8}: pull --rebase origin master: push journey sed
139f0d8 HEAD@{9}: pull --rebase origin master: push the journey
f76b74a HEAD@{10}: pull --rebase origin master: checkout f76b74ac06c22871addbe8cd5a161056e49ccd17
79768ac HEAD@{11}: commit: push journey sed
73e9ffd HEAD@{12}: commit (initial): push the journey
* 撤消修改,假如你对文件README.md进行了修改,想进行撤销

git checkout -- file,丢弃工作区的修改

注意:git checkout – file 命令中的 --不可省略,否则就变成了切换分支。

git reset HEAD file,可以吧暂存区的修改回退到工作区,当我们用HEAD时,表示最新的版本。

该语句的结果有两种情况:
一种是修改后未添加到暂存区,撤销后就回到和版本库一模一样的状态,即最近的git commit
另一种状态是将修改添加到了暂存区后,在做了修改,撤销后就回到最近暂存区的状态,即最近的git add
* 当你有想删除的文件时

git rm file,用于删除文件
git checkout -- file,当你发现文件删除错误时,可以恢复之前的操作,git checkout的作用是用来将版本库里的文件替换工作区里的文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值