一 、git的安装
windows下面的安装:https://git-for-windows.github.io 从这里下载完全无脑安装。
安装完成后,在开始菜单里找到“Git”->“Git Bash” 表示安装成功。
之后,在命令行输入:
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
二 、
1.创建版本库
第一步,打开git,切换到你想要创建版本库的文件夹。
例如:
$ mkdir learngit
$ cd learngit
$ pwd
/Users
pwd命令用于显示当前目录。在我的Mac上,这个仓库位于/Users。
PS:使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。
第二步,通过git init命令把这个目录变成Git可以管理的仓库(git的初始化操作)
2.把文件添加到版本库
在Learngite文件夹下面创建一个文件命名为readme.txt.随意添加内容在文档里面。
千万不要使用Windows自带的记事本编辑任何文本文件
第一步,用命令git add告诉Git,把文件添加到仓库
$ git add readme.txt
执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。
第二步,用命令git commit告诉Git,把文件提交到仓库:
$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
git commit命令,-m后面输入的是本次提交的说明,最好是有意义的,便于以后的修改。
三 版本控制
1.运行git status命令查看当前文件的状态:
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
git status命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt被修改过了,但还没有准备提交的修改。
2.运用git diff 查看文件的改变,如果有改变可以用git add 提交,之后用git commit -m ‘修改提示’,进行更新版本。
四 版本回溯
1 用 git log 查看git日志。
git log命令显示从最近到最远的提交日志
git log --pretty=oneline 命令是用来查看git的版本号(commit id)十六进制表示
2.用git reset --hard HEAD^命令回到上一个版本,head~10回到之前第十个版本。
$ git reset --hard HEAD^
.git reset --hard commit id,表示回溯到指定的版本
PS:工作区域与暂存区域的理解
把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
git diff HEAD -- readme.txt 命令表示查看工作区的版本与版本库最新的版本的区别。
Git是跟踪修改的,每次修改,如果不add到暂存区,那就不会加入到commit中。
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
2 第二种情况 加入修改的文件已经添加到暂存区,第一步使用 git reset HEAD file(文件名)撤销暂存,再使用 git checkout -- file(文件名)取消修改。
3 rm file(文件名) 删除一个文件。
(1)如果确定删除 使用删除命令 git rm file(文件名) 彻底删除文件,之后需要 git commit -m ‘删除了一个xxx文件’.
(2)如果删错了,使用git checkout -- file(文件名)
五 、 远程库创建
要关联一个远程库,使用命令git remote add origin [email protected]:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone 地址 命令克隆
查看当前配置有哪些远程仓库,可以用 Git remote -v 命令
六 创建分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
用git log --graph命令可以看到分支合并图。
切换远程库的位置: git remote set-url origin https://github.com/hollychengjianhua/learngit.git