IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git/GitHub 常用操作 -> 正文阅读

[开发工具]Git/GitHub 常用操作


原生Git

git基本概念


四个工作区

在这里插入图片描述

Workspace: 工作区,就是你平时存放项目代码的地方
Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表
Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换


四种状态

在这里插入图片描述

Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified.如果使用git rm移出版本库, 则成为Untracked文件

Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过,返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改

Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified


本地操作


配置用户签名

方式一 (单个仓库有效)

git config user.name 用户名
git config user.email 邮箱

配置信息会保存在当前仓库目录下的.git/config文件中。


方式二 (全局有效)

git config --global user.name 用户名
git config --global user.email 邮箱

该种方式配置信息会保存在系统盘的系统用户目录下的.gitconfig文件中,保存格式同上面一样。


初始化仓库

git init

查看Git状态

git status

Git添加代码到暂存区

# 添加一个或多个文件到暂存区
git add [file1] [file2] ...
# 添加指定目录到暂存区,包括子目录
git add [dir]
# 添加当前目录下的所有文件到暂存区
git add .

Git提交代码

# 提交代码并加上备注信息
git commit -m [message]
# 提交指定文件
git commit [file1] [file2] ... -m [message]
# 直接提交 
# -a参数设置修改文件以后不需要执行 git add 命令,直接提交
git commit -am [message]

Git修改并提交代码

# 修改代码文件,查看状态
git status
# 再次添加到暂存区
git add filename
# 再次查看状态
git status
# 提交
git commit
# 查看版本信息
git reflog

Git版本切换

# 查看版本信息
git reflog
# 更加详细的显示
git log
# 切换版本
git reset --hard [版本号]

Git分支常用命令

# 查看分支
git branch -v
# 创建分支
git branch [新分支名]
# 删除分支
git branch -d [分支名]
# 修改分支
git branch -m [旧名字] [新名字]
# 切换分支
git checkout [分支名]
# 合并分支
git merge [分支名]

如何解决合并分支冲突

合并分支时,两个分支在同一个代码的同一个位置都有修改,Git无法判断,如何去留?

这个时候需要手动修改文件,修改完成后再次提交就合并成功了。


远程操作


创建别名

# 复制远程仓库的地址然后创建一个别名
git remote add myProject [远程仓库地址]
# 查看远程仓库地址和别名
git remote -v

推送本地库到github

# 推送分支到远程仓库
git remote [别名] [分支名]

第一次推送需要windows凭据,会自动弹出一个窗口,在浏览器中输入账户和密码即可。

如果出现10053错误,那么使用git config --global http.sslVerify false来解除https的ssl的凭证。


拉取远程库到本地

git pull [别名] [分支名]

克隆远程库

git clone [url地址]

区别:

  • fork: 复制一份别人的仓库到自己的远程仓库中,后期可以使用pull request请求别人合并自己新增加的功能。
  • clone: 将别人的项目clone到自己的本地电脑中。
  • pull: 从远程获取最新版本并merge到本地。

团队内协作

邀请团队成员:

github项目->Settings->Collaborators->Manage access->Add people


跨团队协作

先fork一份到自己的github中,修改完毕以后,先提交,然后Create pull request给其它团队的管理者审核,对方同意以后,就可以合并。


github免密登录

  1. 在windows 用户目录下面找到.ssh 文件夹

  2. 在当前目录下面打开git命令行,输入以下命令生成密钥:

    ssh-keygen -t rsa -C [github邮箱]
    
  3. 复制id_rsa.pub中的内容

  4. 在github账号中配置,将复制的公钥粘贴到以下地址中:

    Settings->SSH and GPG keys

然后pull的时候就可以使用ssh,不需要输入用户名和密码。


JetBrains 的IDE集成Git和GitHub

集成Git


初始化本地库

集成Git

VCS->启用版本控制集成->确定

取消版本控制

设置->版本控制->选中项目点减号

添加忽略文件

在根目录创建一个.gitignore文件,然后将要忽略的文件添加进去。


集成Git切换版本

1.添加到暂存区

右键根目录->Git->添加

2.提交

右键根目录->Git->提交->写上备注信息->点击提交

3.查看版本

当提交多次以后,可以查看提交过的历史版本:

点击左下角的Git->Log

在这里插入图片描述
4.切换版本

右键要切换的版本,然后点击签出修订...,即可切换版本。

在这里插入图片描述
可以看到指针此时指向了v2。

如果要回到最新版本,右键最新版本,然后签出到master。


集成Git创建、切换分支、合并分支


创建分支

菜单->Git->新建分支…

切换分支

左下角->选择分支->签出

合并分支

首先切换到要合并的分支(一般是master)-> Git -> 合并 -> 选择分支 …

在这里插入图片描述


解决分支冲突

在这里插入图片描述
根据需要手动选择即可,第三个选项是自己手动修改。


集成GitHub


在ide中配置GitHub

文件->设置->版本控制->GitHub->点击+添加即可


推送项目到GitHub

共享项目到GitHub

Git -> GitHub -> 在GitHub上共享项目 -> 在描述中写上项目别名 -> 点击确定

在这里插入图片描述

push

  1. 修改代码并提交代码
  2. Git -> 推送

从GitHub 拉取项目

pull的目的就是获取项目的最新版本,并merge到本地。

Git -> 更新项目


从GitHub克隆项目

VCS -> 启用版本控制 -> Git -> 克隆


码云Gitee


Gitee简介

Gitee与Github功能类似,但是相比于github而言,gitee有两个优势:一是速度快,二是支持免费的私密项目。

官网

https://gitee.com/


JetBrains的IDE集成码云Gitee

1.添加插件gitee
2.登录码云
3.push
4.pull


  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-02-07 13:55:13  更:2022-02-07 13:56:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:09:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码