Git 零基础学习
git的简介
用于管理,项目的版本控制,不是使用复制,而是指针指向变化,实现版本穿梭
集中式版本控制 cvs subversion svn 使用单一的服务器上面 (单点故障就完蛋)
分布式
客户端并不只是提取最新版本文件快照,可以使用本地镜像下来
git 代码存放的地方是 分为 工作区,暂存区,本地库
git add 是 工作区到 暂存区 ,暂存区的命令可以撤回
git commit是 暂存到本地库,进入本地库会生成历史记录
本地库还可以推送到远程库 git push 推送
代码托管中心 是基于网络服务的代码仓库,一般叫远程库
1.局域网用 gitlab
2.上网 git Hub gitee 码云
Git 常用命令
设置用户签名 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 bash here
输入 git init
ll -a 查看隐藏文件
git status 查看状态
添加文件到暂存区
git add hello.txt
删除暂存区记录
红色就是在工作区但是没有提交到暂存区或者是已经发生修改未提交 ,绿色的已经提交
git rm --cached hello.txt
提交到本地库
git commit -m ''日志信息“ 文件名
git commit -m "测试文本" hello.txt
查看历史日志
查看文件 cat hello.txt
git reflog 大致日志
git log 详细日志
git reset --hard 版本号
版本回溯
git reflog 查看版本号,复制对应的版本号
git reset --hard 版本号
文件就回到了那个版本可以重新穿梭
分支
由于不同的代码要分为不同不同的分支使用,一套代码有不同的使用者,因此需要使用多个分支管理(副本),最后合并更新
分支可以并行开发推进
分支命令
git branch 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
比如创建 git branch hot-fix 热修分支
git merge 分支名 将指定分支合并到当前分支上
分支合并只能是一个未改的动一个改动了 两个都要进行 修改不然要进行手动切换
代码托管中心
分为github gitee 局域网 gitlab
团队内
管理员使用push命令将代码推送到托管中心里
同组组员使用clone 复制下来 修改完可以push 上去 (在有权限时)
管理者可以 使用pull 命令拉取命令下来同步自己本地库
跨团队
管理者使用 fork 将代码分一分给外部权限者
外部可以clone 下来 push到自己远程库 ,发送 Pull request
等管理者接受 pull merge pull 下来
远程托管中心的使用
github的使用
远程库最后和本地库的名字一致
创建远程库别名,给远程托管链接一个别名
git 指令
git remote -v 查看别名
git remote add (别名这里写本地库名) 远程库的链接 创建别名
push 代码
git push (别名或是链接)分支
pull 代码
使远程库中代码与本地一致
git pull (别名或是链接)分支
clone 代码
拷贝完整的程序
git clone 远程库链接
克隆之后会自动给这个链接取别名为origin
添加组员
github 里的 setting -> collaborators->add collborator -> 搜用户名->复制 pennding Invite
复制链接——》同意
组员就可push 权限了
团队外部成员修改
在搜索栏里面搜索 用户名/项目名
可以通过连接直接进入 外部库 点击fork 得到一个副本 可以在线编辑 ,提交之后 点击 new pull request
写入修改提示 提交pull request
团队管理人 可以 查看pull request, merge pull request 合并到现有的代码里
免密登录
在 c盘 -> 用户 -> 用户名 -> 右键 git bash here
输入 ssh-keygen -t rsa -C (登入邮箱) (设置的时候进行) 重置要删除这个文件
连敲四次回车
原来的出现了ssh文件
打开 git bash
cd .ssh
ll 查看有没有公钥
有就输入 cat id_rsa.pub
复制公钥内容
进入github ——setting----> ssh and GPG keys -->new ssh key
填入公钥 提交
就可使用 公钥链接 pull push 速度更快
如何在 ideal 使用git
如何忽略ideal中对开发没用的文件
创建 xxx.ignore 创建忽略规则文件
git.ignore 文件模板的内容如下:
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml
在gitconfig 中配置一下
在 ideal seting 里面设置 version Control 里的 git 路径 bin目录下的 git.exe
配置好后点击上面菜单里的 vcs->导入版本控制-> create git reposity ->确定 文件名会变为红色
右键文件名 点击 git add 到暂存区变为绿色 commit 后会变为黑色
操作根目录会全部进行操作 add commit 操作
修改后会变蓝 等待add commit
可以在左下角的 version control -》 log 看到版本信息
切换版本
在log 里的右键点击要切换的版本 checkout Revision 进行版本切换这样就可以进行版本切换,代码也随之改变
黄色标签是head 指针(当前代码显示位置),绿色标签是 master 指针
创建分支
在右键 git 里 有个 repository -》 branches
或在ideal 右下角的有master 点击新建 分支 这里也可以切换分支
合并分支
正常合并
先选到master 点击右下角选择要合并进来的分支再 选择 merge in current 代码就合并了
代码冲突
两个分支都进行了修改,直接合并会冲突,merge 手动冲突设置,自行取舍 不同的修改
idel 集成 github
setting —》 version control-》github 设置账号 -》使用口令登录 获得口令添加进去
github setting -》developer settings -》personal access tokens -》 create token
使用 上端的 vcs -》导入版本控制 -》 share github 会自动创建库并且push 上去
push 更新到github
更改本地内容后,commit 提交到本地库
右键 git -》repository -》pull /push
vcs -> push 或者 pull --》点击蓝色 master -》define Remote 定义远程 名字 如 ssh-git ,填入 这个项目的 ssh 码
要保证 push的代码版本更高 ,不然要先 pull 代码下拉 修改 再push
切记先 pull 再修改 不然也会出现代码冲突的问题
clone 文件
直接在创建是选择 get from version control 输入 git 的 连接地址
码云 gitee 使用
创建仓库
idel 与码云
先要加一个插件到ideal setting -》 plugins
push 和 pull 操作与 github一致
码云克隆github仓库
点击左上的加号 新建仓库 最下面有 导入已有仓库
github 更新 点击克隆项目后的刷新,可以同步信息
gitlab 使用
局域网的使用的远程仓库,需要搭建服务器
vscode使用git
一文吃透 VS Code+Git 操作(vs code中git的相关配置与使用)_Developer 小马的博客-CSDN博客_vs code git