创建本地版本库
初始化一个Git仓库,使用git init
命令。
添加文件到Git仓库,分两步:
- 第一步,使用命令
git add <file>
,注意,可反复多次使用,添加多个文件; - 第二步,使用命令
git commit
,完成
通过git init
命令把这个目录变成Git可以管理的仓库:
root@ThinkPad MINGW64 / $ cd F: root@ThinkPad MINGW64 /f $ cd gitrepository/ root@ThinkPad MINGW64 /f/gitrepository $ git init Initialized empty Git repository in F:/gitrepository/.git/ root@ThinkPad MINGW64 /f/gitrepository (master)
把文件添加到版本库
$ git add readme.txt
用命令 git commit 告诉Git,把文件提交到仓库
root@ThinkPad MINGW64 /f/gitrepository (master) $ git add readme.txt root@ThinkPad MINGW64 /f/gitrepository (master) $ git commit -m "add readme.txt" [master (root-commit) 5dc8040] add readme.txt 1 file changed, 1 insertion(+) create mode 100644 readme.txt
git commit
命令,-m
后面输入的是本次提交的说明
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/realShiJing/SSM-Maven.git(git远程仓库的地址)
git push -u origin master
版本回退
-
HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。 -
穿梭前,用
git log
可以查看提交历史,以便确定要回退到哪个版本。 -
用
git reflog
查看命令历史,以便确定要回到未来的哪个版本 git log
命令显示从最近到最远的提交日志,$ git log --pretty=oneline 对显示内容进行格式化
- 在Git中,用
HEAD
表示当前版本,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
。
$ git reset --hard HEAD^ 回退到上一个版本
$ git reset --hard <版本号> 回退到指定的版本
$ git reflog
用来记录每一次命令
撤销修改
$ git checkout -- file
可以丢弃工作区的修改
命令git checkout -- readme.txt
意思就是,把readme.txt
文件在工作区的修改全部撤销,这里有两种情况:
- 一种是
readme.txt
自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态; - 一种是
readme.txt
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
$ git reset HEAD file
可以把暂存区的修改撤销掉(unstage),重新放回工作区
删除文件
从版本库中删除文件,那就用命令git rm file
删掉,并且git commit提交到版本库
将误删的文件恢复到最新版本:
$ git checkout -- test.txt
git checkout
其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
远程仓库
$ git remote add <远程仓库地址> 将已有的本地仓库与远程仓库进行关联
程库的名字就是origin
,这是Git默认的叫法,也可以改成别的。
本地库的所有内容推送到远程库上:
只要本地作了提交,就可以通过命令:
$ git push origin master
把本地master
分支的最新修改推送至GitHub
从远程库克隆
用命令git clone <
远程仓库地址>
克隆一个本地库: