Git 基础知识

105 阅读6分钟

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 使用

局域网的使用的远程仓库,需要搭建服务器

www.bilibili.com/video/BV1vy…

vscode使用git

一文吃透 VS Code+Git 操作(vs code中git的相关配置与使用)_Developer 小马的博客-CSDN博客_vs code git