1、本博客主要参考尚硅谷的尚硅谷Git入门到精通全套教程(涵盖GitHub\Gitee码云\GitLab)
视频教程,整理不易,还请读者见谅。
2、尚硅谷的有些视频还不错(PS:不是广告,毕竟看了人家比较好的教程,得给人家打个call)
3、视频地址:尚硅谷Git入门到精通全套教程(涵盖GitHub\Gitee码云\GitLab)
作用 | git | svn |
---|---|---|
版本库初始化 | git init | svn create |
clone | git clone | svn co(checkout) |
add | git add (.除去.gitignore,*所有的文件) | svn add |
commit | git commit | svn commit |
pull | git pull | svn update |
push | git push | - |
查看工作状态 | git status | svn status |
创建分支 | git branch <分支名> | svn cp <分支名> |
删除分支 | git branch -d <分支名> | svn rm <分支名> |
分支合并 | git merge <分支名> | svn merge <分支名> |
工作区差异 | git differ (-cached / head) | svn diff |
更新至历史版本 | git checkout | svn update -r |
切换tag | git checkout | svn switch |
切换分支 | git checkout branch | svn switch branch |
还原文件 | git checkout - path | svn revert path |
删除文件 | git rm path | svn rm path |
移动文件 | git mv path | git mv path |
清除未追踪文件 | git clean | svn status sed -e |
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库
官网地址:https://git-scm.com/
https://github.com/git-for-windows/git/releases/download/v2.37.3.windows.1/Git-2.37.3-64-bit.exe
安装
可以观看的安装网站:https://blog.csdn.net/fzx1597965407/article/details/124371720
命令名称 | 作用 |
---|---|
git config --global user.name 用户名 | 设置用户签名 |
git config --global user.email 邮箱 | 设置用户签名 |
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add 文件名 | 添加到暂存区 |
git commit m " 日志信息 " 文件名 | 提交到本地库 |
git reflog | 查看历史记录 |
git reset hard 版本号 | 版本穿梭 |
设置登录的用户,这个只是标识而已
git config --global user.name 用户名
设置登录的邮箱,这个只是标识而已
git config --global user.email 邮箱
查看git的版本信息
git --version
查看当前登录的用户
git config --global user.name
查看当前登录用户的邮箱
git config --global user.email
这个用户指的是你当前使用的这个用户,在自己 C:\Users\用户\xxx
下有个 .gitconfig
文件,打开里面就是我们设置的用户签名
如果没有配置这个用户签名,否则没有办法可以提交代码
,签名的作用是标识区分不同的操作者的身份的。注意:这里设置的用户签名和将来登录 GitHud(或者其他的代码托管中心)的账号是没有任何的关系的
luoch@monster MINGW64 /e/app/test (master)
$ ll -a
total 8
drwxr-xr-x 1 luoch 197609 0 Oct 2 11:41 ./
drwxr-xr-x 1 luoch 197609 0 Oct 2 11:41 ../
drwxr-xr-x 1 luoch 197609 0 Oct 2 11:41 .git/
任意文件夹中,用
git init
命令初始化仓库,即可在此文件夹下创建.git
文件夹(.
打头为隐藏文件夹,所以平时可能看不到)。这个文件夹之外的部分叫做工作区(Working Directory),.git
文件夹我们称做 Git仓库 (Git Repository)
介绍:https://developer.aliyun.com/article/716483
新建文件
在查看的时候,先保存!
添加暂存区
git add 文件名
git add 文件夹名/. # 这个点代表这个文件夹下面的所有文件都添加进去
提交
git commit -m "日志消息" 文件名
查看日志消息
git reflog # 查看版本信息
git log # 查看版本详细信息
git reset --hard 版本号
命令名称 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 把指定的分支合并到当前分支上 |
git branch -v
git branch 分支名
git checkout 分支名
你如果想把 dev分支合并到 master分支,那你的指针应该指向 master分支上进行合并
git merge 要合并的分支名
冲突产生的原因:
我们首先在 master 分支的倒数第二行进行修改,并将其添加到暂存区,再提交到本地库
接着,我们去 dev 分支的倒数第一行进行修改,并将其添加到暂存区,再提交到本地库
之后我们在 master 分支上合并 dev 分支,发现产生冲突
解决冲突,在 master分支中修改冲突文件
命令名称 | 作用 |
---|---|
git remote -v | 查看当前所有远程地址别名 |
git remote add 别名 远程地址 | 起别名 |
git push 别名 分支 | 推送本地分支上的内容克隆到本地 |
git clone 远程地址 | 将远程仓库的内容克隆到本地 |
git pull 远程库地址别名 远程分支名 | 将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并 |
令狐冲请东方不败改代码,东方不败通过 fork 命令从岳不群的的远程库中拿取代码,再通过 clone 克隆命令到自己的本地库,修改完成后使用 push 推送到在自己的远程库,使用 Pull request 拉取请求给岳不群,岳不群审核完成后使用 merge 命令合并对方的代码到自己的远程库中,再通过 pull 命令到自己的本地库中,这样修改过后的华山剑法岳不群和令狐冲就都可以使用了
GitHub 网址:https://github.com/
git remote -v #查看当前所有远程地址别名
git remote add 别名 远程地址 # 起别名
git push 别名 分支 或者 git push 别名
去到GitHub进行观看
git pull 别名 分支 或者 git pull 别名
克隆不需要登录账号就可以克隆,除非对方的私有库,而且还没有把你拉进私有库
git clone 远程地址
推送失败了,这是因为令狐冲还不是岳不群的弟子(仓库开发者)
现在岳不群在招弟子了,于是他想把令狐冲招进去(仓库开发者),于是他开启一套的流程
现在令狐冲是岳不群的弟子了(仓库开发者),于是它在push就可以了,而且令狐冲可以在自己的找可以看到岳不群的仓库的
岳不群将仓库链接发个了东方不败,东方不败也进行fork到自己的账号中了
东方不败修改完代码后拉取请求
点击进去之后可以看到的,可以聊天也可以同意对方的请求
ssh-keygen -t rsa -C [email protected]
cd .ssh/
cat id_rsa.pub
将钥匙放到账号中,在账号中找到设置
官网:https://gitee.com/
创建仓库
删除仓库
在用户家(C/User/用户名) 下创建
git.ignore
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (
.mtj.
# Package Files
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml
在 .gitconfig 文件中引用忽略配置文件(.gitconfig 在家目录中)
[core] excludesfile = C:/Users/xxxxx/git.ignore
使用IDEA初始化 git项目,初始化之后我们可以用文件夹看到 .git文件夹,前提是你开了可以看隐藏文件
IDEA添加到暂存区
将所有的添加完了,现在我们要做的是提交文件
第一种创建分支的方法
第二种创建分支的方法,点一下也是可以创建得
点击了 new branch
切换分支
切换成 master 分支了
现在 master 和 hot-fix分支都是一样得代码,现在 hot-fix修改了代码
提交成功之后,切换分支到master,如果到了master分支直接就是合并那肯定是正常合并得,所以我们在合并之前也在master修改代码
idea登录githud(1)
idea登录githud(2)
获取githud令牌
第一种 push
第二种 push
push
远程端仓库
注意:push是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push的操作是会被拒绝的。也就是说, 要想 push成功,一定要保证本地 库的版本要比远程库的版本高! 因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地代码的区别!如果本地的代码版本已经落后,切记要先 pull拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!
删除现在得项目
将项目分享到gitee上
push项目
pull项目
githud上面得代码发生了修改
SVN的全称是Subversion,SVN是一个跨平台的开源的版本控制系统,svn版本管理工具管理着随时间改变的各种数据,这些数据放置在一个中央档案库(repository)中,svn会备份并记录每个文件每一次的修改、更新、变动。这样可以把任意一个时间点的档案恢复到想要的某个旧的版本,可以查看指定文件的更新历史记录。
官网地址:https://tortoisesvn.net/
SVN的安装分为 2 部分,第一部分是服务端安装,第二部分的客户端安装。
注意:一般情况下,我们只需要安装客户端即可,因为在企业中服务端是由运维来维护的,我们只需要开通一个账号即可。
常用的客户端又分为两种:安装在操作系统中的客户端、Eclipse的插件。
官网:https://www.visualsvn.com/
下载地址(64-bit):https://www.visualsvn.com/files/VisualSVN-Server-5.1.1-x64.msi
下载地址(32-bit):https://www.visualsvn.com/files/VisualSVN-Server-5.1.1-win32.msi
下载过后得样子
开始安装
官网:https://www.visualsvn.com/visualsvn/download/
下载地址(64-bit):https://www.visualsvn.com/files/TortoiseSVN-1.14.3.29387-win32-svn-1.14.2.msi
下载地址(32-bit):https://www.visualsvn.com/files/TortoiseSVN-1.14.3.29387-x64-svn-1.14.2.msi
下载过后的样子
开始安装
点击右键查看是否有SVN选项
TortoiseSVN安装中文语言包教程:https://blog.csdn.net/qq_61771146/article/details/124466992
高效开发 — SVN使用教程图文详解:https://blog.csdn.net/zhanghuaishu0/article/details/78487628
Windows10环境下使用VisualSVN server搭建SVN服务器:https://blog.csdn.net/qq_32786873/article/details/80535567
SVN安装及使用教程图文详解:https://blog.csdn.net/Ruishine/article/details/121467191
B站:https://www.bilibili.com/video/BV1mW411M7yR/?p=1