Git项目
源代码版本控制器
(代码管理工具),便于团队的协作开发。
Git 安装成功后的如果我们在直接桌面(desktop)打开
的话,需要进行一系列的操作才能到达我们的目的地。
首先给出一些基本的文件操作命令:
初识git
git提交和下载指的是,把本地仓库中的内容和远程仓库保持关联,让代码同步->分布式
建立本地仓库的两种方式
一、初始化设置
git init
->在当前的项目文件夹中生成一个.git文件(不能删除,删除后就不是本地仓库了)$ git remote add [名字] [远程仓库地址]
[名字]:给传输通道起个名字,一般我们都叫做orijin
注意是https开头的,通过这个地址可以找到远程仓库
二 、直接克隆
git clone [远程仓库地址]
$ git pull origin master过origin这个通道和远程仓库连接,并且把master这个分支中的源代码更新到本地仓库中(pull->拉取只能看不能改,防止冲突)
本地仓库分为三个区域:
工作区开发代码->暂存区->历史区(生成版本)–>(需要回滚)直接从历史区把某一个版本的代码覆盖工作区域的代码
如果需要推送到远程仓库,我们把本地历史区的内容推送到远程仓库即可。
还有一点需要注意: gitignore:这个文件中存放的是所有上传远程服务器需要忽视的内容
git的常用命令
git add 文件名
将单个文件上传到暂存区
git add .
将工作区的所有文件上传到暂存区
git checkout 文件名
放弃工作区对应文件的更改
git checkout .
放弃工作区所有文件的更改
git commit -m'本次提交表述'
把暂存区的内容上传到历史区,并生成一个版本号-m’这个参数一定要加’
git status
查看本地文件状态
红色:当前文件还没有增加到暂存区(文件还在工作区)
绿色:当前文件还没有上传到历史区(已经上传到暂存区)。
git diff --cached
比较暂存区和历史区的区别
git diff master
比工作区和历史区的区别
git checkout 文件名
从暂存区回滚到工作区
git reset HEAD 文件名
将本次的暂存区回滚到上一次
git reset --hard 版本号
回滚历史区
git reflog
查看所有的版本号(切换分支也会产生版本号哦!)
git branch
查看分支
git branch 分支名
创建分支
git checkout 分支名
切换分支
git checkout -D 分支名
删除分支名,注意不能再该分支下删除该分支
git checkout -b 分支名
创建并且换分支名
git merge 分支名
将分支dev合并到master,合并到谁上面就在那个分支下面执行
git log --graph
内部命令提供的简易图表
git push origin master
把本地 仓库历史区中的内容(包含提交的记录)都有更新到远程仓库的master分支下=>此处应该叫做同步,这样比提交叫法准确,因为在每一次push后,不仅仅是把代码推送到远程仓库中,而且本地新增加的项目版本记录也同步到了远程仓库。
在分支上添加文件,需要提交后才能归这个分支所有,否则你改的只是工作区的内容
提交到谁的身上,本次的结果才归某个分支,如果再次进行修改的话,修改的是当前分支的文件,而不是公共的文件;如果不提交的话就会出现以下的错误
经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。
例如:当前在v2分支下面,而且我本地的内容已经修改,现在我想要切换到dev分支下面,我可以进行以下操作
git stash
将目前的工作内容存储在堆栈中,这样的话我们就可以切换到别的分支了
git stash apply
将存储在堆栈中的内容释放出来,可以接着进行开发了
只需要通过上面两步就可以解决工作中多分支开发的问题,从而进行版本的迭代。