git 的使用,及其基本指令。

news/2024/5/17 15:54:04 标签: git, gitee, github, 开源

git 的使用,及其基本指令。

文章目录

          • (1) 初始化本地仓库:
          • (2) 配置用户名和密码:
          • (3) 配置全局的用户名和密码:
          • (4) 删除配置
          • (5) 删除全局配置
          • (6) 列出当前本地仓库中的所有配置项
          • (7)三板斧(add, commit, push)
          • (8)查看日志
          • (9)查看目前暂存区和工作区文件的差异
          • (10)版本回退
          • (11)撤销
          • (12)删除文件
          • (13)分支管理
          • (14)合并冲突
          • (15)Bug分支
          • (16)远程操作
          • (16)使用SSH协议克隆到本地仓库
          • (17)push(推送) 和 pull(拉取)
          • (18)配置git, .gitignore文件
          • (19)标签
          • (20)推送标签
          • (21)多人协作开发
          • (22)git pull
          • (23)合并分支


(1) 初始化本地仓库:
(2) 配置用户名和密码:
  • git config user.name “zzq”
  • git config user.email “123@qq.com”
(3) 配置全局的用户名和密码:
  • git config --global user.name “zzq”

  • git config --glabal user.email “123@qq.com”

  • global 表示在当前机器中所有的git仓库中都生效

(4) 删除配置
  • git config --unset user.name
  • git config --unset user.email
(5) 删除全局配置
  • git config --global --unset user.name
  • git config --global --unset user.email
(6) 列出当前本地仓库中的所有配置项

修改:创建,删除,修改。

git 追踪管理的其实是修改,而不是文件。

(7)三板斧(add, commit, push)
  • git add . ——从本地工作区添加到暂存区
  • git status ——查看提交状态
  • git commit -m “提交日志信息” ——从暂存区添加到版本库
  • git push ——从版本库添加到远程仓库
(8)查看日志
  • git log ——查看所有日志

  • git log --pretty=oneline ——日志按一行打印

  • git cat-file -p [commitID] ——打印commitID对应的文件

(9)查看目前暂存区和工作区文件的差异
  • git diff [filename]
  • git diff HEAD --[filename] ——查看版本库和工作区文件的区别

(10)版本回退
  • git reset [–soft | --mixed | --hard] [HEAD]
  • 本质回退的是版本库中的内容,还可以回退到当前版本。
  • –soft 只回退版本库的内容
  • –mixed (默认) 回退版本库和暂存区的内容
  • –hard(慎用) 版本库,暂存区,工作区全部回退
工作区暂存区版本库选项描述
git worldgit worldgit world
git worldgit worldgit–soft只回退版本库
git worldgitgit–mixed(默认)回退版本库和暂存区
gitgitgit–hard(慎用)全部回退
  • git reflog (后悔药)——查看所有的提交记录
(11)撤销
工作区暂存区版本库描述如何撤销
xxx code只在工作区写,没有add 和commitgit checkout --[filename]
xxx codexxx codeadd, 但没有commitgit reset
xxx codexxx codexxx codeadd + commit1. 大前提条件, 都没有push到远程仓库2.git reset
  • git checkout – [filename]

  • git reset --mixed HEAD [filename] ——回退到当前版本

  • git reset --mixed HEAD**^** [filename] ——回退到上一个版本


(12)删除文件
  • git rm [filename] ——删除工作区和暂存区的文件

  • git commit -m “xxxx”

(13)分支管理
  • git branch ——查看所有分支

  • git branch dev —— 创建dev分支

  • git checkout dev ——切换到dev分支

  • git merge dev ——将dev分支合并到当前分支

  • git branch -d dev ——删除dev分支

  • git branch -D dev ——强制删除dev分支

  • git checkout -b dev1 —— 创建并切换到dev1分支

(14)合并冲突
  • 合并冲突需要手动解决,并且要进行一次add和commit。

    <<<<<<<HEAD
    ....// 这之间的是当前分支的内容
    =======
    ....// 这之间的是dev分支的内容
    >>>>>>>dev
    
  • git log --graph --abbrev-commit ——以图示打印

  • git merge --no-ff -m “这是最新一次提交的日志” dev ——(–no-ff)表示不使用fastforword,让合并时产生一次新的提交记录

    fast forword看不出来最新的提交到底是merge进来的还是正常提交的

    no-ff 表示不使用fast forword

  • git merge --no-ff -m “让ff变成no-ff” dev ——在合并分支时,手动将fast forword变成no-ff

(15)Bug分支
  • git stash ——将本分支新增的内容暂存,并使还原到上次commit 的地方。前提是:本分支新增的内容还未commit提交。

  • git stash list —— 查看暂存的内容

  • git stash pop —— 回复暂存的内容


(16)远程操作
  • git 是分布式版本控制系统

  • git remote -v ——查看有哪些权限,比如fetch拉取权限和push推送权限

    origin 远程仓库默认的名字

(16)使用SSH协议克隆到本地仓库
  • 创建SSH key。在主目录下看看是否有.SSH目录,如果有再看看这个目录下有没有id_rsa(私钥),id_rsa.pub(公钥)这两个文件,如果有了直接跳到下一步,没有则需要创建SSH key:
  • ssh-keygen -t rsa -C “1234@qq.com”。 再一路回车使用默认值即可
(17)push(推送) 和 pull(拉取)
  • git push origin master:master —— origin表示远程,第一个master表示本地分支的master,第二个表示远程的master。
  • git pull origin masert:master —— origin 表示远程,第一个master表示远程分支的master, 第二个表示本地的master.
  • pull 指令表示将远程从库的内容拉取到本地,并与本地分支合并。pull : 拉取+合并。

git_gitignore_165">(18)配置git, .gitignore文件
  • .gitignore 文件里面写要忽略的文件名。

  • *.so, *.init 表示再add时,忽略以.so和.init 为后缀的文件。

  • git add -f test.so ——强制添加test.so 文件

  • 不建议强制添加。应该在文件里添加 !test.so即可,表示不忽略test.so 这个文件。

  • git check-ignore -v d.so —— 查看为什么d.so文件会被忽略。

  • git config --global alias.st ‘status’ —— 给 status 取别名为st

  • git log --pretty=oneline --abbrev-commit —— (–pretty=oneline)表示打印一行,(–abbrev-commit)表示打印出短的commitID。


(19)标签
  • 标签是对commit ID 做别名。

  • git tag [tag_name] —— 在当前分支上给最新一次commit打标签。

  • git tag [标签名] [commit ID] —— 给指定commit ID 打标签。

  • git tag -a v1.0 -m “描述信息” —— 给标签加描述信息。

  • git show [标签名] —— 查看标签的描述信息。

  • git tag ——显示所有标签。

  • git tag -d [标签名] —— 删除标签

(20)推送标签
  • git push origin v1.0 —— 将本地的v1.0 标签推送至远端。
  • git push origin --tags —— 推送本地所有标签。
  • git push origin:v1.0 —— 先在本地删除v1.0 标签,在执行该指令,使远端也删除该标签。

(21)多人协作开发
  • git branch ——查看本地分支

  • git branch -r(remote) —— 查看远程分支

  • git branch -a(all) —— 查看本地和远程的所有分支

  • git checkout -b dev origin/dev —— 建立本地dev分支,并和远程dev分支建立连接。

  • git branch -vv —— 查看本地和远程分支建立的连接。

  • 建立连接的目的是为了能够使用简短的指令。

  • git push origin:master --> git push

  • git branch --set-upstream-to=origin/dev dev —— 将远程的dev分支和本地的dev分支建立连接。

  • git push origin “分支名” —— 远程没有该分支,本地创建并推送。

git_pull_212">(22)git pull
  • 拉取分支的内容
  • 拉取仓库的内容,如:本地没有的分支等。
  • git remote show origin —— 查看远程分支的情况。
  • 在远程删除了某些分支,但本地仍然可以看到,解决办法:
  • git remote prune origin —— 修剪在远端已经不存在的分支。
(23)合并分支
  • 如何将dev分支 合并到 master分支?(建议)
    1. 建议先在dev分支下,合并master。有冲突再解决。
    2. 再回到master分支,合并dev。

http://www.niftyadmin.cn/n/5476870.html

相关文章

论文复现 关于计算痤疮数量来进行分类

cls cou cou2cls 在您提供的代码中&#xff0c;cls和cou在应用softmax激活函数之后确实表示概率分布。具体来说&#xff1a; cls&#xff08;分类&#xff09;&#xff1a;cls F.softmax(cls) 1e-4 这一步计算了分类任务的输出概率分布。这里的softmax函数确保了输出的值是一…

ArcGIS和ArcGIS Pro快速加载ArcGIS历史影像World Imagery Wayback

ArcGIS在线历史影像网站 World Imagery Wayback(网址:https://livingatlas.arcgis.com/wayback/)提供了数期历史影像在线浏览服务,之前不少自媒体作者在文中宣称其能代表Google Earth历史影像。 1、一点对比 (1)同一级别下的版本覆盖面 以下述区域为例,自2014年2月20…

2024-04-08 NO.6 Quest3 自定义交互事件

文章目录 1 交互事件——更改 Cube 颜色2 交互事件——创建 Cube2.1 非代码方式2.2 代码方式 ​ 在开始操作前&#xff0c;我们导入上次操作的场景&#xff0c;相关介绍在 《2024-04-08 NO.5 Quest3 手势追踪进行 UI 交互-CSDN博客》 文章中。 1 交互事件——更改 Cube 颜色 …

题目:学习使用按位与 。

题目&#xff1a;学习使用按位与 & 。   There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated shoul…

PgSQL的with as语法

returning 返回的这一些字段&#xff0c;然后进行汇总为remove_alarms 然后select一下remove_alarms 出来的数据然后保存到tb_alarm_his 里面 with remove_alarms as( delete fromtb_alarm whereid in (508) returning 0,now(),admin,alarmadvice,alarmadvicecn,alarmarises…

【Leetcode每日一题】 递归 - 二叉树剪枝(难度⭐⭐)(50)

1. 题目解析 题目链接&#xff1a;814. 二叉树剪枝 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 想象一下&#xff0c;你有一堆层层叠叠的积木&#xff0c;你想从底部开始&#xff0c;把那些标记为0的积木拿走。如…

亚马逊AWS上怎么创建Linux 服务器?操作难不难?

AWS(Amazon Web Services)是全球领先的云服务器提供商之一。你可以使用 AWS 平台在一分钟内设置完服务器。在 AWS 上&#xff0c;你可以微调服务器的许多技术细节&#xff0c;如 CPU 数量&#xff0c;内存和磁盘空间&#xff0c;磁盘类型(更快的 SSD 或者经典的 IDE)等。关于 A…

特别详细的Spring Cloud 系列教程2:微服务网关gateway的启动

继上一篇&#xff1a;特别详细的Spring Cloud 系列教程1&#xff1a;服务注册中心Eureka的启动 在比较多的教程和书籍里&#xff0c;spring cloud的微服务网关用的Zuul。然而&#xff0c;zuul已经不被官方提倡&#xff0c;现在提倡用的是spring cloud gateway。因为gateway的整…