目录
SVN是集中式版本控制系统,版本库是放在中央服务器上面的,开发人员工作的时候都是用的自己的电脑;所有首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。
git是分布式的版本控制系统(DVCS),分为两种类型的仓库:本地仓库和远程仓库
⑤修改完成后,需要团队成员共享代码时,将代码push到远程仓库
力扣总结之贪心算法_young_man2的博客-CSDN博客
如何搭建git远程托管服务?
可以通过互联网提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab
【这里使用gitee】
首先创建账号,然后新建仓库
远程地址:https://gitee.com/vytd/my-repo1.git
安装git之后首先要设置用户名称和email地址【这个和码云注册的是不一样的】。这是很重要的,每次git提交都会使用该用户信息
①设置用户信息
- git config --global user.name " "
-
- git config --global user.email " "
②查看配置信息
- git config --list
-
- git config user.name
通过上面的命令设置的信息都会保存在:~/.gitconfig文件中
要使用git对代码进行版本控制,首先要获取git仓库
方式:
①在本地初始化一个仓库
git init //初始化一个本地git仓库
②从远程仓库克隆
git clone 。。。。(远程仓库地址)
①版本库:前面看到的.git隐藏文件就是版本库,存储了很多配置信息、日志文件、文件版本信息等。
②暂存区:.git中有很多的文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方。
③工作目录:包含.git文件夹的目录就是工作目录,主要用于存放开发的代码。
①intracked(未被跟踪的,未被纳入版本控制)
②tracked(已跟踪的,被纳入版本控制)
Unmodified 未修改状态
Modified 已修改状态
Staged 已暂存状态
这些文件的状态会随着git命令而发生改变
命令一
git status //查看文件的状态
git status -s //可以使得输出更加简洁
命令二
git add //将未跟踪的文件加入到暂存区
命令三
git reset HEAD .. //重新设置,取消暂存
命令四
git commit -m //提交到本地仓库
命令五
git rm //删除文件
命令六
将文件添加到忽略列表
touch .gitignore
然后在文件夹中加入你想忽略的文件格式就可以忽略了(比如.class)
命令七
git log //查看日志记录
命令一
git remote -v //获取远程仓库的地址
【如果你的仓库是克隆来的,默认就已经配置远程仓库,仓库的名字默认为origin】
git remote show origin //查看更详细的远程仓库的信息
命令二
git remote add <shortname> <url> //添加远程仓库
首先在码云平台上创建新的远程仓库
然后使用下面的代码进行添加
【可以添加多个远程仓库】
命令三
git clone <url>
命令四
git remote rm //移除无效的远程仓库
【只是从本地移除远程仓库的记录,远程仓库还是存在的】
命令五
git fetch //从远程仓库获取最新版本到本地仓库,不用自动merge
所以还需要git merge
命令六
git pull //从远程仓库获取最新版本并merge到本地仓库
命令七
git push [remote-name][branch-name] //将你的代码推送到远程仓库
git commit -a //加载到暂存区
①查看分支
#列出所有本地分支
git branch
#列出所有的远程分支
git branch -r
#列出所有的本地分支和远程分支
git branch -a
②创建分支
git branch b1 //创建名字未b1的本地分支
* 表示当前处于哪个分支
③切换分支
git checkout b1 //切换分支到b1
④将本地分支推送到远程
git push origin b1 //将b1分支推送到远程仓库
⑤合并分支
【这里如果是将a分支的内容合并到b分支,那么就需要在b分支下进行!】
git merge b1
有时候合并操作不会如此顺利。如果你在两个不同的分支中,对同一一个文件的同一个部分进行了不同的修改,Git 就没办法合并它们,同时会提示文件冲突。此时需要我们打开冲突的文件并修复冲突内容,最后执行git add命令来标识冲突已解决
如下所示:
我们在master分支中进行修改
然后进行提交(首先添加到缓存区,然后提交)
然后你会发现在b1分支下的user.java和master下面的是不一样的
⑥将本地推送到远程
git push origin master //将本地master分支推送到远程
⑦ 删除本地分支
- git branch -d b1 //删除本地b1分支
-
-
- git branch origin -d b1 //删除远程b1分支
如果需要删除的分支中进行了一些开发动作,此时执行上面的删除命令并不会删除分支,如果要坚持删除此分支,可以将命令中的-d参数修改为-D
【注意:在一个分支内的时候是无法删除这个分支的,需要切换到其他的分支!】
综合练习
①列出已有的标签
#列出所有的标签
git tag
#查看tag信息
git show[tag]
② 创建标签
git tag 标签名
③ 将标签推送到远程仓库
git push [remote] [tag]
④检出标签【新建一个分支,指向某个tag】
git checkout -b [branch][tag]
⑤删除标签
- git tag -d [tag] //删除标签
-
- git push origin :refs/tags/[tag] //删除远程标签
TortoiseGit下载与安装_young_man2的博客-CSDN博客
①创建仓库【本地】
②克隆仓库【远程克隆到本地】
③将文件添加到暂存区
④提交文件
还可以不加入暂存区直接提交
⑤推送本地仓库到远程仓库
有关联的【从远程克隆下来的】
无关联的【本地创建的且没有远程】
⑥拉取代码
⑦创建分支
⑧合并分支
⑨ 推送本地的分支
如果你的git安装目录没有改变的话,idea会自动识别;但是如果你改变了,就需要重新选择位置了,如下操作
有些文件不需要git进行管理就可以将其加入到忽略列表(.gitignore)
①将文件加载到暂存区
②提交
或者
或者
②推送到远程仓库
③从远程仓库克隆
④拉取代码
⑤版本对比
在你想要对比的文件中右键
⑥创建分支
⑦切换分支
⑧合并分支
前面我们使用的都是https协议,这里我们再记录一下使用SSH协议