Git->分布式版本控制
下载: 官网:www.git_sum.com
架构: workspace工作区 index/Stage 暂存区 Repository仓库区 Remote远程仓库
安装完成后需要填写用户名和邮箱作为标识。 git config -global user.name “用户名” git config -global user.email “邮箱”
操作:1.创建版本库(repository) 版本库又名仓库,可以理解为一个目录,目录里的所有文件都被Git管理起来,每个文件的修改,删除,git都能跟踪。以便在将来的某些时刻还可以将文件"还原"。 首先指定文件位置D:\www 通过git init 命令可以把目录变成git可以管理的仓库。创建成功后会在目录下多了一个.git目录,这个是用来跟踪管理版本。
版本管理只能跟踪文本文件的改动,比如txt,网页,程序代码等,图片,视频这些二进制文件虽然可以管理但是无法跟踪。2.把文件添加到缓存区中 使用git status可以查看库中文件状态。 使用git add 文件名 可以将文件添加到暂存区中。
3.把文件提交到库中 使用git commit -m “提示信息”进行提交。
4.文件修改后 当修改文件后,执行git status会发现出现未被提交的修改,使用 git diff 文件名 可以查看每个时间段的文件内容。
5.查看修改历史 git log(全部显示) 或 git log –pretty=oneline(只显示版本号和每次提交的信息)
6.版本退回 使用git reset --hard HEAD^ 退回上一个版本 使用git reset --hard HEAD^^ 退回上上个版本 以此类推 如果想要快速返回则使用git reset --hard HEAD~100则是退回前一百个版本
7.退回最新版本 使用git reset --hard 版本号 获取版本号 git reflog
工作区和暂存区的区别 工作区就是在电脑上git inti的目录(.git隐藏目录版本库除外) 版本库就是工作区中的.git这是版本库,版本库中存储很多东西其中最重要的就是stage(暂存区),还有Git为我们创建的第一个分支master(默认分支)以及指向master的指针HEAD。
使用Git提交文件到版本库有两步: 第一步:是使用git add把文件添加进去,实际上就是把文件添加到暂存区。 第二部:使用git commit提交更改,事实上就是把暂存区的所有内容提交到当前分支上。
git撤销修改和删除文件操作 撤销修改: 如果知道要删除哪些内容,直接手动更改然后add添加后直接commit提交就行。也可以按以前方法直接git reset --hard HEAD^ 直接返回以前版本如果不想使用以上两种方法可以先使用git status 查看当下状态,可以发现git会告诉我们 git checkout --文件名,可以丢弃工作区的修改,意思就是把文件在工作区做的修改全部撤销 这里有两种情况: 1.文件修改后还没有使用add添加到暂存区,使用git checkout --文件名 进行撤销可以返回到以前的版本状态。 2.另外一种是readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。
删除文件 可以直接在文件中删除,然后提交暂存区也就是把库中的也删除了,在库中没删除之前可以使用git checkout --文件名进行恢复。
远程库:码云注册账号->关联远程库 git remote add origin 远程库地址->(可写可不写,查看远程仓库地址 git remote -v )->推送本分支master到远程库git push origin master->上传时会有弹窗输入码云账号和密码。
远程库克隆 git clone 远程库网址 进行克隆
创建与合并分支 在 版本回填退里,已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
创建分支 git checkout -b 分支名 创建分支 加上 - b是标识创建并且切换 git branch 分支名 切换分支 git checkout 分支名 创建分支 git branch查看当前分支 在分支前显示星号则表明是当前分支
合并分支 git merge 分支名 合并某分支到当前分支 分支是互相独立 ,当分支2改变后查看分支1的操作会发现没有分支2的操作,可以选择合并分支,切换到分支1上后使用git merge 分支2 进行合并。这个是快进模式也就是分支1直接指向了分支2的当前提交,所以速度会非常快。
删除分支 git branch -d 分支名
如何解除分支合并冲突: 分支1修改后切换到分支2修改,进行合并时会出现Git用<<<<<<<,=,>>>>>>>标记出不同分支的内容,这时我们需要自己手动修改要保留的内容,但是一定要把git用<<<<<<<,=,>>>>>>>进行标记的符号删除。查看分支情况使用 git log。