新-git-gitee代码管理(管理)

news/2025/1/11 23:55:11/

git忽略文件失效

git rm -r --cached . //清除缓存
git add .            //添加所有文件
git commit -m 'update .gitignore'   //提交更新.gitignore

git 提交的一些规范

开发git commit规范:

git commit --fix'我的问题'feat:新功能
fix:BUG 修复
docs:文档变更
style:文字格式修改
refactor:代码重构
perf:性能改进
test:测试代码
chore:工具自动生成

官网:https://git-scm.com/book/zh/v2
菜鸟:https://www.runoob.com/git/git-gitee.html

git fork项目后 如何同步流程


杨天龙 3-22 10:25:29
git remote add upstream ssh://git@git.yschsz.com:20022/frontend/dq-operation.git杨天龙 3-22 10:25:35
git remote set-url --push upstream no-pushing杨天龙 3-22 10:25:39
git fetch upstream杨天龙 3-22 10:34:03
git pull upstream main

参考:https://blog.csdn.net/core571/article/details/84029350
克隆 fork 的主分支

$ git clone (url)
$ cd project
$ git checkout -b featureA
# (work)
$ git commit
# (work)
$ git commit

添加 fork 后的分支

$ git remote add myfork (url)

推到特性分支的界面上

$ git push -u myfork featureA

合并至主仓库
在fork的仓库新建合并请求,来源分支为此仓库的特性分支,目标分支为主仓库的目标分支。

同步主分支上

$ git fetch origin
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (1/1), done.
From http:///liuq/mm32_lib_head_2.092fe206..7b1201c  dev        -> origin/dev

在这里插入图片描述

添加 主分支
git remote add upstream ssh://git@git.yschsz.com:20022/frontend/dq-operation.git设置 路径 不能推
git remote set-url --push upstream no-pushing拉代码 不会合并
git fetch upstream
拉代码 并合并
git pull upstream main

下载及秘钥配对

1.下载git https://git-scm.com/
2.查看是否有秘钥

cat ~/.ssh/id_rsa.pub

3.生成秘钥并配对 :
在用户中看是否有.ssh 文件 如果没有创建秘钥

ssh-keygen -t rsa -C  "email" (email为自己的邮箱,如123456@qq.com)

4.github 和gitee 配置:https://www.runoob.com/git/git-remote-repo.html
5.查看公钥 秘钥是否配置好(github)(gitee)

ssh git@github.com
ssh git@gitee.com

git常见命令

6.git 常见命令

mkdir  gittest         创建文件夹
git init               初始化仓库
vi     .git/config (查看.git 配置)  
vim    .git/config  查看git配置文件
git config --list --show-origin 查看配置
git config --list    查看配置
touch   index.txt   创建文件
vim     index.txt   打开index.txt 文件
git add filename    添加本地缓存
没有提交前(第一次不用管进行覆盖)
git status           查看提交状态
git commit -m'第一次提交'  提交本地并备注git rm test.txt  删除本地库内容修改内容
git status           查看提交状态
git add   filename   添加文件缓存
git checkout filename 还原保存的文件-本地仓库版本
git checkout -- utils\ 撤回没有提交的修改> # 查看指定文件的历史啊版本 git log <filename>
> # 回滚到指定commit ID     git checkout <commitID><fileName>git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了reset 回滚会造成 版本比远程低 造成提交失败 因此revert 提交一个新的版本 提交同步
git revert commitID  反坐一个版本  git commit -m'第二次提交'
git log       查看提交日志
git reset --hard commit_id  回滚到以前版本
git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]   git log  -5 查看前5条
git diff  5d57640f0689df210bbae44b5a24dad78e8e9f06   对比文件变化
git push --set-upstream origin develop     设置提交路径
git branch --set-upstream-to=origin/dev dev  设置git pull/git push 默认地址
git branch --set-upstream-to=origin/remote_branch  your_branch多次add 后
git commit --aemnd -m '最后一次提说明'      补充说明// hard 丢弃  soft 保存  mixed 缓存区  
// merge 保留 工作区和index之间的差异   keep 保留工作区和HEAD之间的差异。

分支

git branch develop      创建分支develop
git checkout develop    切换分支develop 
git checkout origin/master -- path/folder/filename
git checkout master      切换主分支  
git merge  develop       合并到主分支 情形1:本地已经创建了分支dev(以dev为例,下同),而远程没有可以通过以下2种方法在远程创建分支dev,并与本地分支进行关联:方法1: git push -u origin dev
方法2: git push --set-upstream origin dev情形2:远程已经创建了分支dev,而本地没有
在本地创建分支并与远程分支进行关联,也有2种方法:
方法1分为两步:
step1:先将远程分支pull到本地 git pull origin dev
step2:再在本地创建分支并与之关联,又有2种方法
git checkout -b branchName commitId   //选取远程分支的版本
(1)git checkout -b dev origin/dev     //创建 
(2)git checkout -b dev --track origin/dev     #可以简写为git checkout --track origin/dev   //关联远程分支
git pull origin dev:dev-------两个dev分别表示远程分支名:本地分支名选择本地有(创建) 且关联分支
$ git checkout -b DQr origin/DQr
提交当前分支
git push origin DQr
拉取当前分支
git pull origin DQr创建并建立
git checkout -b zhuang-hand origin/zhuang-handgit branch -a   查看本地/远程分支
git branch -D dev  删除本地分支
git push origin --delete [branch_name]
git fetch -p   清理本地无效分支(远程已删除本地没删除的分支)
git branch | grep 'branchName'   如果分支太多,还可以用此命令进行分支模糊查找

打标签 tag

git 打标签1 打标签  git tag <name> 2.git tag -a v1.4 -m "my version 1.4"  打标签且增加描述5.git log --pretty=oneline 查看历史记录6.git tag -a v3.7.5 `d0fe218bb5d4fc745c6a26924506cea8e57cf5ad`历史打标签  (添加 描叙)3.查看所有打的标签  git tag  或者 git tag -l  或者 git tag --list  (v1.0 v2.0 标签号)4.git tag -l "v1.8.5*"  查看一个系列的版本7.git show  v1.0(版本号)  展示标签号ssh -T 'ssh://yushi@192.168.1.126:29418/Soft2New/program/triage 查看权限git push origin v1.5  推送单个标签git push origin --tag 推送多个标签git tag -d v1.4-lw  删除一个本地标签
Deleted tag 'v1.4-lw' (was e7d5add)  删除一个本地标签git push origin :refs/tags/v1.4-lw       删除远程一个标签git push origin --delete <tagname>    删除远程一个标签git checkout 2.0.0  git 检出一个标签git tag -l | xargs git tag -d #删除所有本地分支
git fetch origin --prune #从远程拉取所有信息\#查询远程tags的命令如下:
git ls-remote --tags origintag常用git命令:
git tag #列出所有tag
git tag -l v1.* #列出符合条件的tag(筛选作用)
git tag [tag名] #创建轻量tag(无-m标注信息)
git tag -a [tag名] #创建含注解的taggit push origin --tags #推送所有本地tag到远程
git push origin [本地tag名] #推送指定本地tag到远程git tag -d [本地tag名] #删除本地指定tag
git push origin :refs/tags/[远程tag名] #删除远程指定taggit fetch origin [远程tag名] #拉取远程指定tag
git show [tag名] #显示指定tag详细信息

回滚最新

$ git reflog                                                回滚未来

git 删除分支后找回

git fsck --lost-found
git show + id
git merge + id

参考:https://blog.csdn.net/wh_19910525/article/details/7842503

远程仓库关联

第一种方式

git clone  git clone git@gitee.com:***/giteetest.git   //克隆远程仓库
工作开展
git status
git add  filename
git commit -m'提交描叙'
git pull origin master     拉取远程主仓库
git push origin master   提交远程主仓库

第二种方式

git remote add origin https://gitee.com/kingCould/HelloWord.git  //关联远程仓库git pull --rebase origin master的区别  直线
git pull origin master    并行结点git push -u origin master                                    // 第一次提交 默认master (空仓库)
git push -u origin master   -f                               // 当前分支强制覆盖 远程的都没有了
git push origin master                                        // 后面提交git remote -v                                                                        // 查看远程路径
git remote remove origin                                                      //删除远程路径

git merge:

   D--------E/          \  A---B---C---F----G---   test, master

git rebase

A—B—D—E—C‘—F‘— test, master
rebase好处 想要更好的提交树,使用rebase操作会更好一点。 这样可以线性的看到每一次提交,并且没有增加提交节点。 merge
操作遇到冲突的时候,当前merge不能继续进行下去。手动修改冲突内容后,add 修改,commit 就可以了。 而rebase
操作的话,会中断rebase,同时会提示去解决冲突。 解决冲突后,将修改add后执行git rebase
–continue继续操作,或者git rebase –skip忽略冲突。

vim 相关文件(liunx命令)

  • mkdir 创建目录
  • touch 创建文件
  • pwd 查看当前目录
  • ls / ls -al 查看目录下所有内容
  • cat 查看文件内容
  • cd 切换目录
  • wc 统计字数信息
  • more/less 查看文件(git 没有more 这个命令 linux 查找文件用的)
    参考:https://www.cnblogs.com/aijianshi/p/5750911.html
  • rm 删除文件
  • rmdir 删除文件夹
  • rm -rf code 删除文件夹的文件
    -mv 移动文件/文件夹(重命名)
  • cp 复制文件 vim 文件
  • head -5 index.html (文件前几行)
  • tail 查看文件后几行 tab自动匹配(2)
  • history 历史记录
  • ssh 远程登录(ssh root@gitlab.study.com)
  • >和>>重定向 (echo hello world!>READMW.md) >覆盖 >>追加 curl http://www.baidu.com>1.txt
  • wget 下载 wget https://node.js.org?dist/v4.40/node-v4.4.0.tar.gz
  • curl 网络请求 (curl http://www.baidu.com) who am i 查看当前用户
  • | 管道符 把上次的结果当做下次参数 grep 匹配内容 一般结合管道符 ls -al | grep log.txt >output.txt
 insert 输入模式

通过 Esc 切换

ctrl + v  视图模块
y 复制
p 黏贴
d 删除
按 insert    输入文件
按  Esc      退出文件
:w保存文件但不退出vi 编辑
:w! 强制保存,不退出vi 编辑
:w file将修改另存到file中,不退出vi 编辑
:wq保存文件并退出vi 编辑
:wq!强制保存文件并退出vi 编辑
q:不保存文件并退出vi 编辑
:q!不保存文件并强制退出vi 编辑
:e!放弃所有修改,从上次保存文件开始在编辑

拉取远程单个文件

# 1.初始化
mkdir localdir # 创建用于作为本地仓库的文件夹
cd localdir # 进入文件夹
git init # 在本地指定文件夹内执行此命令设置为git仓库
# 2. 拉取remote all objects信息
git remote add -f origin http://github/projectName.git # 添加远程仓库地址,实现拉取remote的all objects信息
# 3. 开启sparse clone
git config core.sparsecheckout true # 用于控制是否允许设置pull指定文件/夹,适用于Git1.7.0以后版本,本质是开启sparse clone
echo "fileName" >> .git/info/sparse-checkout # 本地目录的.git文件夹下,如果没有sparse-checkout文件则创建,在其中添加指定的文件/夹fileName,就是需要拉取的那个特定文件/夹。*表示所有,!表示匹配相反
cat .git/info/sparse-chechout # 查看
# 4. 拉取指定目录
git pull origin master # 拉取命令是一样的,只是已经通过配置文件sparse-chechout指定了目标文件/夹
————————————————
版权声明:本文为CSDN博主「quantLearner」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/The_Time_Runner/article/details/105870217

gitee 代码管理工具(管理代码问题)

https://gitee.com/

工具 git(原始) GitHub(小猫) vscode


http://www.ppmy.cn/news/80579.html

相关文章

【算法题】2390. 从字符串中移除星号

插&#xff1a; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家一起学习鸭~~~ 题目&#xff1a; 给你一个包含若干星号 * 的字符串 …

快速学Go依赖注入工具wire

Go相对java和C是较新的语言&#xff0c;但也有诸多优秀特性及生态库。本文介绍大多数软件工程中常用的功能&#xff1a;依赖注入。首先介绍什么是依赖注入&#xff0c;go实现库wire与其他语言的差异。然后通过简单示例实现依赖注入&#xff0c;简化代码、提升可读性。 依赖注入…

微服务之服务容错

Informal Essay By English Share a sentence that I think is very reasonable, as long as you can know the underlying logic of anything, you can hold it without fear 参考书籍&#xff1a; “凤凰架构” 引言 在 Martin Fowler 与 James Lewis合写的文章《Micros…

【C++】C++11线程库 和 C++IO流

春风若有怜花意&#xff0c;可否许我再少年。 文章目录 一、C11线程库1.thread类介绍2.mutex互斥锁 和 CAS原子操作&#xff08;compare and set&#xff09;3.lock_guard和unique_lock4.两个线程交替打印&#xff0c;一个打印奇数&#xff0c;一个打印偶数&#xff08;线程同步…

Spring事务及事务传播机制

一.事务的含义:多个操作封装在一起&#xff0c;要么同时执行成功&#xff0c;一旦有一个操作执行失败&#xff0c;那么全部执行失败。这里给大家举个例子:比如A给B转账50元&#xff0c;而B没有收到这50元&#xff0c;此时A转账B这个操作也需要进行回滚&#xff0c;恢复到A给B没…

MyBatis 框架

MyBatis 框架 MyBatis 简介搭建 MyBatis 开发环境核心配置文件详解mapper 映射文件&#xff08;实现增删改查&#xff09;MyBatis获取参数值的两种方式MyBatis的各种查询功能特殊SQL的执行自定义映射resultMapresultMap 字段和属性的映射多对一映射处理一对多映射处理 动态SQLM…

MySQL数据库学习(小白一文掌握Mysql)

Python 是一种高级编程语言,它可以轻松地与各种数据库进行交互,其中包括 MySQL 数据库。MySQL 是一种开源的关系型数据库管理系统,被广泛应用于各种应用程序和网站的后端。在本文中,我将介绍如何使用 Python 操作 MySQL 数据库,并提供一些代码示例。 安装 MySQL Connecto…

手机修复老照片软件有哪些?手机修复老照片的软件哪个好?

随着智能手机与数码相机的广泛普及&#xff0c;越来越多的小伙伴爱上了拍照。那么面对这些拍下来美美的照片&#xff0c;随着时间的不断流逝&#xff0c;它们终会磨损、损坏或者褪色。其实我们可以通过手机上的一些软件来帮助我们修复这些老照片&#xff0c;那么手机修复老照片…