首页 > 其他分享 >git

git

时间:2023-05-26 19:15:13浏览次数:33  
标签:文件 git 05 仓库 暂存区 分支

git使用

1、git初始化方式:

git init     #用于初始化仓库在本地运行
git clone    #用于克隆远端的仓库
git status    #用于查看git仓库的状态

![截屏2023-05-23 10.18.44 (2)](/Users/shiwu/Desktop/截屏2023-05-23 10.18.44 (2).png)

2、git的工作流

分为三块分别是

工作区 暂存区 本地仓库

正常编写代码的位置 ---------->git add--------> 存放临时代码的位置 ---------->git commit--------> 存放成品代码的位置

git的文件类型:

![截屏2023-05-23 10.55.35](/Users/shiwu/Library/Application Support/typora-user-images/截屏2023-05-23 10.55.35.png)

当我们在本地仓库中创建了一个文件后使用git查看状态是下图所示状况,这个时候就是处于一个未跟踪的状态:

![截屏2023-05-23 11.03.17](/Users/shiwu/Library/Application Support/typora-user-images/截屏2023-05-23 11.03.17.png)

使用git add对当前文件进行添加后我们就会将这个文件存放到暂存区也就是上图所示的未修改的状态:

![截屏2023-05-23 11.05.05](/Users/shiwu/Library/Application Support/typora-user-images/截屏2023-05-23 11.05.05.png)

再次使用git commit对文件进行提交后,该文件就会被推送到本地仓库而在暂存区中不显示。

Tips 使用命令git commit -a -m可以直接完成暂存和提交两个动作。

可以使用git log查看提交记录,并且可以使用git log --oneline 只查看最简洁的记录

3、git回退版本

git reset    #用于回退到git提交的某一个版本上

包括三种模式

1:git reset --soft表示回退到某个版本并且保留暂存区和工作区的内容

2:git reset --hard表示回退到某个版本并且丢弃暂存区和工作区的内容

3:git reset --mixed表示回退到某个版本并且丢弃暂存区保留工作区的内容 ---reset的默认参数

4、git比较

git diff 默认比较工作区和暂存区的内容差别

git diff HEAD比较工作区和版本库的内容差别(HEAD表示版本最新的提交,分支的最新提交节点 HEAD或者HEAD^都可以表示HEAD之前的版本,HEAD3表示HEAD之前的第三个版本)

git diff --cached比较暂存区和版本库的内容差别

git diff 版本号id1 版本号id2 可以用于比较两个版本之间的差别

git diff 版本号id1 版本号id2 file文件名 可以用于比较两个版本之间该文件的差别

git diff 分支名1 分支名2 可以用于比较两个分支之间的差别

5、git删除文件:

1、首先在本地工作区删除文件,然后使用命令git ls-files查看文件暂存区中的内容

然后通过git status查看此时git的状态,发现有deleted file 提示,然后使用git add . 将这个文件删除的信息传递到暂存区

然后提交变化到本地仓库即可

2、使用 git rm [文件名] 删除文件即可同时把本地工作区和暂存区的文件直接删除。然后提交变化到本地仓库即可。

git rm -cached [文件名]把文件从暂存区删除但保留在当前工作区内。

git rm -r *即可递归的删除某个文件下的所有子目录和文件

6、通过gitignore忽略不需要上传到版本仓库的文件

直接vi .gitignore

把我们不想上传的文件的名字放到文件中即可

Tips:gitignore中忽略的文件,必须不在版本仓库里面的,如果在版本仓库里面有file1.txt文件,然后我们吧*.txt的文件规则添加到了gitignore中我们如果对file1.txt进行了操作,git仍然可以对我们的file1.txt文件的更改做出反馈。

7、配置远程仓库

1、Mac配置

在主目录下使用命令

cd .ssh

然后使用命令

ssh-keygen -t rsa -b 4096

生成协议是rsa由-t参数指定,大小为4096由-b参数指定


然后输入密钥的名称,然后输入密码。(全部可以自定义)

一个是你生成密钥输入名称比如我这里输入的是macssh然后这个名称结尾没有后缀名的就是私钥文件(重要不能乱传)。另一个就是pub结尾的公钥文件,然后我们把公钥文件的内容复制到github中(github选择右上角的你的头像的下拉菜单中的setting-然后进入选择左侧的SSH and GPG keys-然后选择new SSH keys-然后在title输入你的密钥名字并在Key中把你复制的公钥粘贴)然后创建即可

然后我们在我们的主机中的.ssh目录下添加config文件(这个配置文件制定了我们访问github的时候使用的ssh密钥)


并输入如下所示的内容

#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/macssh[此处填写你的密钥名称]

然后就可以使用github克隆远程仓库了。

2、win部署

在主目录下打开git bash

ssh-keygen -t ed25519 -C "[email protected]"( Ed25519 算法)

ssh-keygen -t rsa -b 4096 -C "[email protected]"

同上述画线的过程

然后使用命令start ssh-agent开启ssh-agent服务

然后使用命令 eval "$(ssh-agent -s)"

会有如下输出 Agent pid 59566

然后使用命令

ssh-add [你的密钥保存的地址]

然后就可以克隆远程仓库了。

8、链接远程仓库

添加远程仓库

1、git remote add [远程仓库别名] [远程仓库地址]

2、git push -u [远程仓库名] [分支名]

git remote -v 查看远程仓库

git pull [远程仓库名] [远程分支名]:[远程分支名]

git push 推送

git fetch 只是获取远程仓库的修改但是并不会自动合并到本地的仓库中

9、分支

利用命令git branch可以查看所有分支

利用命令git branch [文件名]可以创建分支

利用命令git checkout [分支名]用于切换分支还可以用于恢复

利用命令git switch [分支名]用于切换分支

在主分支下利用命令git merge [被合并的分支名]用于合并分支

利用命令git log -graph --oneline -- decorate --all可以查看分支合并的过程

利用命令git branch -d [分支名]用于删除已经合并的分支

利用命令git branch -D [分支名]用于强制删除未被合并的分支

![截屏2023-05-24 15.00.23](/Users/shiwu/Desktop/截屏2023-05-24 15.00.23.png)

图示

如果使用git rebase main就会把dev分支下的提交记录链接到main分支后,如果使用git rebase dev 就会回溯到共同的节点图示的main3下把dev的提交记录链接到main3和main4之间

感谢师傅geekhour老杨,b站视频链接【【GeekHour】一小时Git教程】 https://www.bilibili.com/video/BV1HM411377j/?share_source=copy_web&vd_source=d4217fffbf02a408fdb5331eddd61636

本文是自己的笔记,记录一下git加深印象。

标签:文件,git,05,仓库,暂存区,分支
From: https://www.cnblogs.com/jjyjxy/p/17435588.html

相关文章

  • 如何调整Gitlab-Runner最大并发数?
    概述:我们在使用gitlab-runner做cicd时,如果安装之后没有配置gitlab-runner的最大并发数,在使用时候可能会碰到job的警告(job日志超过字节限制):job‘slogexceededlimitof4194304bytes*****查看默认最大并发数concurrent=10cat/etc/gitlab-runner/config.toml解决办法......
  • 源代码管理工具--GitHub
    一.GitHub简介Github是一个基于Git的代码托管平台,主要为开发者提供基于Git仓库的版本托管服务,并提供一个web界面。其由ChrisWanstrath,PJHyett与TomPreston-Werner三位开发者在2008年4月创办。总部位于美国旧金山。使用上,付费用户可以建私人仓库,免费用户只能使用公共仓库,也......
  • GitHub教程
    1.概述1.1Git和代码托管中心代码托管中心的任务:维护远程库局域网环境下:GitLab服务器外网环境下:GitHub码云1.2本地库和远程库团队内部协作跨团队协作2.Git命令行操作2.1本地库操作命令:gitinit效果:注意:.git目录中存放的是本地库相关的子目......
  • CodeForces 1107B Digital root(找规律)
    传送门每个数字都有个数位和,就是把数字的每一位相加直到数位和是一个个位数。然后题目就要你求第K个数位和为X的数字是多少。写一些数字出来就很容易发现规律了可以看出每一竖列的数位和是相等的,然后就找到规律是9*(k-1)+x,注意数据范围是1e12,是longlong,然后就这么多,就可以直......
  • CodeForces 1107A Digits Sequence Dividing(思维)
    传送门唉,题目讲的天花乱坠的,花里胡哨,一上来真是把我唬住了。愣了半天也没看出来到底咋做,后来借助翻译明白了这个题就是让你把一串字符分成两串,然后第一串要比第二串小,就这样,然后又是个SpecialJudge。做的时候就把第一个数作为第一个串,然后串长如果为2,就判断一下后面的串要比第一个......
  • gitlab 忘记root管理员密码
    1、使用root账户登录服务器2、切换用户为gitsu-git3、进入gitlab控制台gitlab-railsconsoleproduction如报错如下:ERROR:"railsconsole"wascalledwitharguments["production"](Thor::InvocationError)就用下面这条命令(等待一会)gitlab-railsconsole4、等待ruby......
  • docker部署gitlab私有仓库
    官方文档https://docs.gitlab.com/ee/install/docker.html编写docker-compose文件version:'3.6'services:web:image:'gitlab/gitlab-ee:latest'restart:alwayshostname:'192.168.31.160'ports:-'5111:80&......
  • git 小白拉取代码遇到2FA拉取代码失败fatal: Authentication failed
    目录git小白拉取代码遇到2FA拉取代码失败fatal:Authenticationfailed2FA认证问题git小白拉取代码遇到2FA拉取代码失败fatal:Authenticationfailed代码仓库开启了2FA认证,在我们gitclone的时候出现如下报错,因为开启后,我们只是单纯的gitclonehttps没法通过FA认证fatal:A......
  • On Git
    StartanewcodebasewithouthistoryfromtheexistingoneIfyouwanttocreateanewcodebasewithoutanyhistoryfromanexistingGitrepository,youcanfollowthesesteps:ClonetheexistingGitrepositoryintoanewdirectory:gitclone<exis......
  • git常用方法
    1、第一次初始化gitinitgitadd.gitcommit-m‘firstcommit’[email protected]:帐号名/仓库名.gitgitpulloriginmastergitpushoriginmaster#-f强推[email protected]:git帐号名/仓库名.git2、工作基本操作gitcheckoutmaster切......