创建版本仓库
$ git init
把文件添加到版本库
在当前文件夹下新建一个readme.txt文件
$ git add readme.txt
$ git commit -m "wrote a readme file"
把文件从版本库删除
已经rm [file name]
将文件删除:
若想从版本库中删除文件
$ git rm [file name]
$ git commit -m "……"
若是删错了,想要恢复文件
$ git checkout -- test.txt
版本管理
$ git status
$ git diff [file name]
$ git log
$ git log --pretty=oneline //查看简略日志
版本回退
HEAD表示当前版本,上一个版本就是HEAD^
,上上版本就是HEAD^^
,上一百个版本可以写成HEAD~100
。
$ git reset --hard HEAD^ //回到上个版本
还可以通过使用commit id
来回到指定的版本,commit id
可以通过git reflog
命令来查询
$ git reset --hard 12e9a //举例
工作区和暂存区
工作区(Working Directory)就是新建仓库的当前文件夹内可以看到的未隐藏的目录。
版本区(Repository)是在工作区隐藏目录.git
,这个目录不算工作区,而是Git的版本区,版本区中最重要的就是暂存区和分支。把文件往Git版本库里添加时,第一步git add [file name]
将文件添加到暂存区,第二步git commit -m "……"
提交更改将内容添加到当前分支中。
因此,每次修改都需要先git add
再git commit
,否则无法将修改添加到库中。
撤销修改
把文件在工作区的修改全部撤销,但git add
后放入了暂存区的就无法使用该命令进行恢复了
$ git checkout -- [file name]
把暂存区的修改撤销掉,重新返回工作区
$ git reset HEAD [file name]
已经在工作区修改并添加到暂存区的文件,需要先git reset HEAD [fiel name]
恢复到工作区,再git checkout -- [file name]
,才能撤销修改。
若已经将修改提交到了版本库,想要撤销本次修改,则需要进行上面提到的版本回退。
远程仓库
添加远程库
在本地创建好Git仓库后,在GitHub上创建一个Git仓库,使这两个仓库进行远程同步。
在本地仓库下运行命令,就可以将本地仓库与远程库相关联:
$ git remote add origin git@github.com:[username]/[repo-name].git
接下来把本地仓库的所有内容推送到远程库上:
(由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来)
$ git push -u origin master //第一次推送master分支的所有内容
$ git push origin master //之后就可以使用简化命令
从远程库克隆
在项目页面找到远程仓库的SSH地址,再输入下面的命令:
$git clone [ssh链接]
分支管理
创建与合并分支
创建dev
分支,然后切换到dev
分支:
$ git checkout -b dev
//或者使用命令`$ git switch -c dev`
$ git branch dev //创建dev分支
$ git checkout dev //切换到dev分支,或者使用命令`$ git switch dev`
//这两行命令合起来相当于上面一条命令
查看当前分支
$ git branch
把dev
分支合并到master
分支上
$ git merge dev
删除dev
分支
$ git branch -d dev