git的安装,配置和基本使用

一、git客户端的安装

参照文档 https://www.runoob.com/w3cnote/git-guide.html

二、打开git命令行窗口

选择一个目录,右键点击


这个窗口,可以操作linux命令

 

四、设置全局身份

git config --global user.name "runoob"
git config --global user.email test@runoob.com

五、创建本地版本库

命令:git init

发现test1下有一个隐藏文件(.git),就表示版本库创建成功,test1目录就是一个本地版本库

注意:.git目录不能删除,删除后,这个版本库就不存在了

六、工作流控制

1、工作流程

svn的状态流程

1)、里面有新文件,svn里面会有一个问号

2)、将文件提交add,文件就会变成加号

3)、commit文件,新文件就会变成绿色

git也是这样的流程

你的本地仓库由 git 维护的三棵"树"组成。第一个是你的 工作目录,它持有实际文件;第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,它指向你最后一次提交的结果。

相关命令:

git status       查看本地git版本库的版本状态(工作区和分支进行比较)

git add filename(提交多个文件空格隔开)            把当前文件加入到暂存区

git add *   把当前工作区所有的文件添加到暂存区中

git commit -m ‘代码提交信息’        把暂存区中的文件提交到当前所在的分支(master),但还没有到你的远端仓库(github)

七、工作区和暂存区

八、本地版本库-文件管理

1、文件管理-添加文件(添加文件到分支)

步骤1,先本地仓库,创建一个新文件,使用命令touch <filename>  或者vim <filename>

然后查看状态git status

步骤2,add上去,再查看状态

步骤3,git commit -m 提交说明,再查看状态,提交没有新文件提交了,和版本库一致

注意:无论修改本地仓库的文件,添加文件,删除文件后,再查看状态,都会是下面这样,表示有哪个文件有改动,这是就要先add上去,再commit

2、文件管理-删除文件

1)git rm -rf 文件名

2)git commit -m 删除说明文字

注:

当工作区,新建了一个文件,但未提交到分支上时,可以使用rm -rf 进行删除

但当分支上有本地的文件,要删除本地的文件,就要执行git rm -rf 

 

3、文件管理 - 版本回退

相关命令

git log   查看当前分支的版本提交记录

git log --pretty=oneline   和上面命令一样的作用,只是输出日志一行显示

1)第一种回退方式(通过^的数量,决定回退几个版本)

命令:git reset --hard HEAD^

^表示往上回退一个版本,^^表示往上回退两个版本,以此类推,但如果回退版本过多,不可能写n个^

2)第二种回退方式,回退到指定的版本号,需要知道版本号

命令:git reset --hard 版本号 

版本号支持模糊匹配,下图红框就是版本号

4、文件管理-文件修改

思路:在工作区创建文件 ---> add到暂存区  --->  commit到分支

相关命令

git diff head -- 文件名    查看当前文件和版本库的区别

特点:git对文件只跟踪的文件的修改,不是整个文件

5、文件管理 -撤销修改

情况1:更改后的文件,只存在于工作区,没有add上去

方法1:

相关命令:git checkout -- filename      丢弃工作区的修改,从版本库把文件还原到工作区

方法2:直接在工作区打开这个文件,并删除需要更改的数据

 

情况2:数据使用add,添加到了暂存区

方法1:也是直接在工作区打开这个文件,并清掉不好的数据,然后再重新add上去

方法2:使用命令git reset HEAD <filename> 可以把暂存区的修改撤销掉,重新放回工作区

思路:

先使用上方的命令把暂存区的数据回退到工作区

然后再使用情况1的方法进行回退

 

情况3:数据使用add添加到了暂存区,并commit到了版本库

使用版本回退的方法回退  git reset --hard HEAD^

情况四:把文件上传到了远程仓库,这种情况就只能希望别人看不到了

 

九、分支管理

当使用git init创建一个版本库后,会默认新建一个分支(master),master就是一条主分支

1、创建分支和切换分支

相关命令:

git checkout -b 分支名称      创建分支并切换

git branch 分支名称      创建一个分支,但不切换

git checkout 分支名称   切换分支

git branch     查看所有的分支,其中星号表示当前所在的分支

2、删除分支

git branch -d 分支名称

注意:不能删除当前所在的分支,需要切换到其他分支再进行删除

3、合并分支

相关命令:git merge 分支名

1)合并前,先看目前有两个分支master,dev的时间线

同一个文件readme.txt,在master分支下里面只有一行内容,在dev分支下,有两个内容

2)要把dev的代码合并到master分支

先切换到master分支,再执行命令:git merge dev

合并后,发现时间线就会变成下图了

 

4、合并分支后发生冲突

先看下方的时间节点,两个分支(master和dev)都各种分别有新的提交

1)先执行合并,将dev分支合并到master,git merge dev

发现出现了一个临时分支

然后打开需要合并的文件,出现了冲突

解决方法:

1)打开这个文件,把下方红框部分删掉,再保存

2)查看git status,提示两者都有修改

3)执行add,再commit就可以了

5、分支管理 -bug分支

使用场景

现有主分支master,从主分支切了一个dev分支开发一个NB的功能,但是写了一半,领导说线上和master分支有一个重大bug需要立马解决,你看了这个bug5分钟就可以搞定,但是我还在开发新功能,但没有提交,也不能提交。所有需要把当前dev分支的工作区隐藏起来,然后切换到master分支,重新切一个新bug分支出来解决bug解决完之后回到master再合并这个bug分支,再删除bug分支。

相关命令:

git stash   储藏当前分支的工作区

储藏完成后,再执行git status,发现工作区是干净的

git stash list  显示当前分支储藏的工作区的集合

git stash pop  取出当前分支储藏的工作区栈顶的第一个储藏对象

 

九、github 远程仓库

 

远程仓库的配置

1、首先在本地创建ssh key;

命令:ssh-keygen -t rsa -C "your_email@youremail.com"

后面的your_email@youremail.com改为你在github上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。

2、成功的话会在c/user/用户/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key

id_rsa  秘钥

id_rsa.pub  公钥

 

3、回到github网址配置秘钥

第一步,点击右上角下拉列表中的Settings(账户配置)

 

 

第二步,左边选择SSH and GRG keys,点击SSH keys中的new ssh key

第三步,title随便填,Key粘贴在你电脑上id_rsa.pub文件中生成的key,然后点击add ssh key按钮进行保存

添加成功后,就会变成这样了,且会发生邮件给你这个邮箱

4、github添加远程仓库

本地创建一个git仓库,又想在github创建一个远程仓库,并且使两个仓库进行远程同步,这样github上的仓库就可以作为备份,又可以让其他人通过该仓库来协作

1)先在github,创建一个远程仓库

 

5、本地仓库和远程仓库进行关联

git remote add origin https://github.com/xiejinming/0704.git

origin表示远程仓库,可以修改,但一般还是不用

xiejinming表示github的账号

0704表示远程仓库名称

 

把本地仓库的数据推送到远程仓库

git push -u origin 分支名

然后查看远程仓库,发现推送成功了

再推送一个dev分支上去

发现github上面就出现了两个分支

 

从远程仓库克隆数据到本地

1、先在github找到需要克隆的仓库,找到地址并克隆

2、本地执行clone命令

git clone https://github.com/xiejinming/0704.git

 

3、克隆分支(解决其它分支不显示的问题)

注意:在clone时默认是把当前地址里面的所有分支全部clone下来,但是只有master会显示

相关命令:git checkout -b dev origin/dev

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值