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常用命令 -> 正文阅读

[开发工具]版本管理工具git常用命令

一、git是什么,?来做什么

git是分布式版本控制系统,?来进?版本管理

?、git有什么特点

  • git VS svn git是分布式,svn是集中式。分布式版本系统的最?好处之?是在本地?作完全不需要考 虑远程库的存在,也就是有没有联?都可以正常?作,当有?络的时候,再把本地提交推 送?下就完成了同步,?SVN在没有联?的时候是拒绝?活的!
  • git有暂存区的概念,svn没有
  • git 跟踪并管理的是修改,???件

三、git如何使?

1. 创建版本库

git init

git init 会在当前?件夹下?成?个.git?件夹,也叫做git版本库,?来跟踪管理版本

2. 将本地?件添加到git版本库

?作区(Working Directory)

电脑上能看到的?录

版本库(Repository)

?作区中有?个隐藏?录.git,这个不算?作区,?是Git的版本库 Git版本库?存了很多东?,其中最重要的就是暂存区(Stage),还有Git?动创建的master分?,以及 指向master的指针HEAD

git status
git add .
git commit -m "commit message"

git add 将?件修改添加到暂存区

git commit 提交更改,将暂存区的所有内容添加到当前分?

3. 添加远程库

git remote add origin git@server-name:path/repo-name.git
git remote add origin git@server-name:path/repo-name.git

必须给远程库?个名字,origin 远程库的名字,也可以设置为其他

将本地库的内容推送到远程

git push -u origin master
git push --set-upstream origin master

-u 将本地master分?和远程的master分?关联起来

4. 删除远程库

git remote rm origin

此处的'删除'其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库

5. 从远程库克隆

git clone git@server-name:path/repo-name.git

Git?持多种协议,包括https/ssh,我们?般都是使?ssh,因为https除了速度慢以外,每次推送都必 须输??令

6. 撤销修改

1)撤销?作区中?件的修改(还未添加到暂存区)

git checkout -- file

2) 撤销暂存区中?件的修改(还未提交到远程库)

git reset HEAD file

3)撤销远程库中?件的修改(版本回退)

git log
git reset --hard commit_id
git revert HEAD //撤销前?次commit
git reset --hard HEAD^ //回退到上?个版本

git reset --hard HEAD^ //回退到上?个版本。

git log 查看提交历史,以确定回退到哪个版本

git reflog 查看命令历史,以确定回到未来的哪个版本

4)git reset VS git revert

1. git reset 是删除指定的 commit;git revert 是??个新的 commit 来回滚之前的 commit

2. git reset 是将 HEAD 指针向后移动了?下;git revert 是 HEAD 指针继续向前

7. 分?管理

1) 查看当前分?

git branch

2) 创建分?

git branch <name>

3) 创建+切换分?

git checkout -b <name>
git switch -c <name>

4) 切换分?

git checkout <name>
git switch <name>

5) 合并分?

git merge <branchName> //合并指定分?到当前分?,并?动创建新的commit提交
git merge --no-commit <branchName> //合并指定分?到当前分?,但不要进?新的提交

6) 查看分?合并图

git log --graph

7) 删除分?

git branch -d branchA //删除本地分?
git push origin --delete branchA //删除远程分?

8. 基本操作

git stash //将当前?作区存储起来
git stash list //查看stash list
git stash pop //恢复?作区
git cherry-pick <commit> //将提交的commit复制到当前分?,避免重复劳动
git cherry-pick <branch> //将另?个分?复制到当前分?,避免重复劳动

9. 更新本地代码

1)git fetch

git fetch   //获取远程最新代码到本地,不会进??动合并

2)git pull

git pull <远程主机名> <远程分?名>:<本地分?名>
git pull --rebase //也可以指定使?rebase模式进?合并

git pull 其实是 git fetch 和 git merge 的简写,获取远程最新代码到本地,并且和本地分?进?合并 操作。

10. 标签管理

标签与 commit 的关系,就像 IP 和域名的关系

1)创建标签

git tag <name>

2)以某个 commit 提交创建标签

git tag <name> commitId

3)查看创建的所有标签

git tag

4)查看标签信息

git show <tagname>

5)将创建的标签推送到远程

git push origin <tagname> //推送某个指定的 tag 到远程
git push origin --tags //推送所有的 tag 到远程

6)删除?个本地标签

git tag -d <tagname>

7)删除?个远程标签

1 git push origin refs:/tags/<tabname>

  开发工具 最新文章
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常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 10:06:52  更:2021-11-27 10:08:11 
 
开发: 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 19:55:30-

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