赞
踩
目录
Git - Downloads这是git官网,博主安装的是windows版本


安装包下载完成后,在安装时一直点击next下一步即可,中间不用改其他东西,那么如何检验是否安装成功呢,可以打开cmd输入git version,出现了版本,即代表安装成功

这时候鼠标在桌面右击,出现了git bash就可以使用了。

$ git config --global user.name xxx
$ git config -- global user.email xxxx.com
$ git config --list
在工作区所在目录执行以下命令
git init
git init命令会在当前目录中创建一个名为.git的隐藏目录 ,以后这里会记录我们提交的版本。
(1)工作区(workspace):这是放项目代码的地方,项目代码对应的文件
(2)暂存区(index/stage):也叫索引,是一个文件,保存了下次将提交的文件列表信息
(3)本地仓库(repository):就是安全存放数据的位置,这里有你提交的所有版本的数据
(1)在工作区中添加,修改文件
(2)添加工作区的更改到暂存区
(3)将暂存区的文件列表信息提交到本地仓库

工作流

$ git status //查看文件当前所处状态
untracked :未跟踪状态,而且还会将未跟踪的文件列出来,比如下面这个就是readme.txt文件未跟踪状态,并且提示你use git add to track
$ git add +要跟踪的文件名
提示:其实将文件添加为跟踪状态,就是将其放入缓存区,从而git就可以跟工作区、本地仓库做比对
to be committed:已放置缓存区,待提交状态

$ git commit -m '提交信息'
clean:已提交状态
首先对工作区的文件进行修改,然后再git status查看状态,可以看到下方提示,changes not staged for commit变更未缓存。而且还会提示修改的是哪个文件:modified readme.txt,然后让你使用git add文件将修改添加至缓存区,最后再将缓存区的文件git commit -m '提交信息',将其提交到本地仓库。

$ git log //可以查看提交记录
可以看到我们一共提交了两次readme.txt文件,还显示提交的作者和提交时间,并且还提示我们提交的时候编辑的-m
如果使用delete直接删除的话,还需要将删除后的变更添加至缓存区并提交,所以我们使用git rm来删除文件
$ git rm 文件名
使用git rm 不仅从工作区删除文件,并且缓存区的也被删除,最后只要git commit提交一次就行了
当我们修改文件后,发现并没有修改之前那版好,就可以执行撤销修改的操作

把文件从暂存区域复制到工作目录,用来丢弃本地修改
$ git restore 文件名
$ git checkout -- 文件名
以上这两个命令都可以撤销修改 ,但前提是暂存区有修改之前的数据
恢复暂存区,也就是丢弃add到暂存区,是将内容从本地仓库恢复到暂存区,可以使用以下两个命令
$ git restore --staged 文件名
$ git reset -- 文件名
意思就是跳过git add的步骤,但是暂存区还是有数据的
以下两个命令,git会自动把已经跟踪过的文件暂存起来一并提交,如果文件未跟踪,还要手动git add对文件进行跟踪
$ git commit 文件名 -m '提交信息' //提交这一个文件
$ git commit -a -m '提交信息' //提交当前目录下所有的跟踪文件
使用最后一次提交,覆盖暂存区跟工作区
$ git checkout HEAD --文件名
$ git reset [回退版本]
$ git reset e82c //这里的e82c是指版本id的前四位

$ git reset HEAD
$ git reset --hard HEAD
--hard参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
与版本回退的区别在于:不会清除提交记录,并生成新的提交
$ git revert HEAD
一般我们总会有些文件无需纳入git的管理, 也不希望它们总出现未跟踪文件列表
可以创建一个名为.gitignore的文件,列出要忽略的文件模式

对比工作区和暂存区的变化,显示未暂存的改动
$ git diff
对比本地仓库最新版本跟暂存区的变化,显示未提交的改动
$ git diff --cached 或者 --staged
对比本地仓库中两个提交版本之间的差异,显示commit2在commit1基础上的改动
$ git diff c389 6531 //这里的c389是指版本id的前四位
$ git diff HEAD
如果你想通过git分享你的代码或者与其他开发人员合作,就需要将数据放到一台其他开发人员能够连接的服务器上,托管在这台服务器上的数据就是远程仓库。

(1)GitHub:(https://github.com/) 服务器在国外,用起来比较慢
(2)码云:(https://gitee.com/)服务器在国内,速度会更快
(3)GitLab:(https:about.gitlab.com/)是一个仓库管理系统的开源项目,在此基础上搭建起来web服务
(1)进入官网后注册一个账号并登录
(2) 创建仓库

创建成功后就会有仓库的地址

点击管理设置我们的仓库
可以设置仓库的权限

如果设置为私有的仓库,可以设置仓库的成员
$ git remote add <shortname><url>
shortname是远程仓库的简称,自定义它的名字
url:远程仓库的地址


$ git remote //查看远程仓库
$ git remote rm 仓库名 // 移除本地与远程仓库的关联
$ git pull <远程仓库名><远程分支名> //获取远程仓库代码
这里的仓库名是你在添加远程仓库时自定义的shortname

这时我们可以看到远程仓库里的两个README.md文件就出现在了本地文件夹中
$ git push <远程仓库名><本地分支名>:<远程分支名>
$ git push <远程仓库名><本地分支名> //如果本地分支与远程分支名相同,可省略冒号

可以看到我们的远程仓库就出现了test.txt文件,代表代码上传成功
在本地工作目录右击鼠标打开git bash,输入克隆远程仓库的命令
$ git clone 远程仓库地址

$ git push //直接将本地改好的代码推送到了远程仓库
将远程仓库的数据拉到本地并进行自动合并
$ git pull
要直接使用git pull,则要确保设置了跟踪信息,如果没设置跟踪信息的话,会出现以下报错

如何设置跟踪信息呢?可以看报错的提示
$ git branch --set -upstream-to=origin/master
将远程仓库数据拉取到本地,但不会自动合并
$ git fetch
如果准备好合并时,可以使用以下命令进行手动合并,并指定仓库名和分支名,代表你要将哪个分支的数据合并到当地
$ git merge origin/master
当拉取数据时,如果存在合并冲突,会提示你解决冲突后再git push

提示:我们要养成推送之前,先拉取代码的习惯,防止覆盖同事的代码
(1)进入官网后注册一个账号并登录
(2)创建仓库





打开这个地址,输入code码,从而登录到github上面



这时候就会发现,仓库里已经有这个文件啦,代表代码上传成功!

https协议:上传代码的时候需要用户名和密码进行身份验证
SSH协议:只需要配置一次,以后每次传递数据就不需要验证了
ssh-keygen -t rsa //配置命令




验证后则公钥添加成功




可以看到克隆成功,如果需要上传的话,git push也可以实现上传,在这就不演示了




配置成功,可以使用SSH协议传递数据了

接下来的操作同上一节,在这就不演示了。
git中的分支,其本质就是一个指向commit对象的可变指针,会使用master作为默认分支,HEAD指向正在工作的分支
$ git branch<分支名> //在当前分支指向的commit对象上新建一个新的分支指针
$ git checkout<分支名> //切换分支后,HEAD指针的指向也会更改
$ git checkout -b <分支名> //新建且切换分支
$ git branch -d <分支名> // 删除分支 (切换出去后再删除,正在工作的分支无法删除)
$ git merge <合并的分支> //合并分支 (首先要切换到被合并的分支)
打开源代码管理->初始化仓库

点击加号,将文件提交到暂存区

编写提交信息

下面则将暂存区文件提交到远程仓库,新建一个仓库,复制仓库地址



点击发布

发布后即可以看到远程仓库中已经收到文件了

如果想要撤销更改

如果想取消暂存

如果想撤销提交

新建分支

输入分支名称

将新建的分支发布到远程仓库

可以看到远程仓库中此时就有两个分支了

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。