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使用手册 -> 正文阅读

[开发工具]Git与Github之git使用手册


版本控制系统、什么是储存库 (Repository) 、 GitHub 模型如何运行、 Git 指令和示例等。

版本控制系统 VCS

版本控制系统(VCS)跟踪人员和团队在项目上进行协作时的更改历史记录。更改后,随时可以恢复到项目的更早版本。

项目历史记录:

  • 进行了哪些更改?
  • 谁进行了更改?
  • 何时进行了更改?
  • 为什么需要更改?

Git 的基本命令

使用 Git 的特定命令来复制、创建、更改和合并代码。


git init 

初始化一个全新的 Git 存储库并开始跟踪现有目录。
它在现有目录中添加一个隐藏的子文件夹,该子文件夹包含版本控制所需的内部数据结构。

git clone 

根据远程已存在的项目创建本地副本。
克隆包括项目的所有文件、历史记录和分支。

git add 

暂存更改。 Git 跟踪对开发人员代码库的更改,但有必要暂存更改并拍摄更改的快照,以将其包含在项目的历史记录中。 此命令执行暂存,即该两步过程的第一部分。 暂存的任何更改都将成为下一个快照的一部分,并成为项目历史记录的一部分。 通过单独暂存和提交,开发人员可以完全控制其项目的历史记录,而无需更改其编码和工作方式。

git commit 

将快照保存到项目历史记录中并完成更改跟踪过程。 简言之,提交就像拍照一样。 任何使用 git add 暂存的内容都将成为使用 git commit 的快照的一部分。

git status 

将更改的状态显示为未跟踪、已修改或已暂存。

git branch

显示正在本地处理的分支。

git merge

将开发线合并在一起。 此命令通常用于合并在两个不同分支上所做的更改。 例如,当开发人员想要将功能分支中的更改合并到主分支以进行部署时,他们会合并。

git pull

用远程更新本地。
使用远程对应项的更新来更新本地开发线。 如果队友已向远程上的分支进行了提交,并且他们希望将这些更改反映到其本地环境中,则开发人员将使用此命令。

git push

使用本地对分支所做的任何提交来更新远程存储库

从远程存储库克隆到本地

# 在GitHub上下载一个存储库到我们的机器
# 将 'owner/repo' 替换为要克隆的存储库的所有者和名称
git clone https://github.com/owner/repo.git

# 进入存储库目录
cd repo

# 创建一个新的分支来存储任何新的更改
git branch my-branch

# 切换到指定分支(开发线)
git checkout my-branch


# make changes, for example, edit `file1.md` and `file2.md` using the text editor (进行更改,例如,使用文本编辑器编辑 `file1.md` 和 `file2.md`  )


# stage the changed files (暂存更改的文件)
git add file1.md file2.md

# take a snapshot of the staging area (anything that's been added)
# 给所有已经暂存更改的文件添加备注
git commit -m "my snapshot"

# push changes to github (将更改推送到github)
git push --set-upstream origin my-branch

创建本地存储库并发布到github

进入文件夹,右键选择 Git Bash Here
在这里插入图片描述

  1. 创建本地存储库 my-repo
    创建一个新目录,并使用特定于git的函数初始化它
git init my-repo
  1. 进入存储库目录 my-repo
cd my-repo
  1. 创建README.md文件
touch README.md
  1. 暂存README.md
git add README.md
  1. 给暂存内容添加备注
git commit -m "add README to initial commit"
  1. 提供你在github上创建的存储库的路径
git remote add origin https://github.com/YOUR-USERNAME/YOUR-REPOSITORY-NAME.git
  1. 上传更改到github
git push --set-upstream origin main

对已有分支进行修改

git pull 命令用于从远程获取代码并合并本地的版本。

# 将远程分支与本地分支合并
git pull <远程主机名> <远程分支名>:<本地分支名>

在这里插入图片描述

# change into the `repo` directory (进入本地已有存储库)
cd repo

# update all remote tracking branches, and the currently checked out branch (将远程分支与本地分支合并)
git pull

# change into the existing branch called `feature-a` (变更到指定分支)
git checkout feature-a

# make changes, for example, edit `file1.md` using the text editor (进行修改)

# stage the changed file (暂存修改)
git add file1.md

# take a snapshot of the staging area (给目前暂存的修改添加备注)
git commit -m "edit file1"

# push changes to github (将本地暂存的修改上传到github上)
git push

链接:参与项目


补充:
最常见的情况是团队中的人都共用一个origin。如果自己想额外使用一个remote,也可以通过以命令增删:

git remote add name xxx
git remote remove name
大家可以试试以下命令:

git remote # 查看有哪些remote,一般就一个,叫做origin
git remote remove origin # 删除,一般不用到
git remote add origin xxx # 新增,一般不用到。xxx 请用最开始的 git clone xxx 中的 xxx 替代

  开发工具 最新文章
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-04-22 18:57:14  更:2022-04-22 19:00:52 
 
开发: 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年12日历 -2024/12/30 1:44:01-

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