一 、git的安装git
windows下面的安装:https://git-for-windows.github.io 从这里下载彻底无脑安装。github
安装完成后,在开始菜单里找到“Git”->“Git Bash” 表示安装成功。windows
以后,在命令行输入:url
$ git config --global user.name "Your Name"spa
$ git config --global user.email "email@example.com".net
二 、命令行
1.建立版本库版本控制
第一步,打开git,切换到你想要建立版本库的文件夹。日志
例如:server
$ 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 git@server-name: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