【GIT】git实用指令(不定期更新)


前言

因项目需要用到git,本文章仅作为个人记录及交流使用,以下内容为常用和实际用到的,不定时更新。

一、生成公钥

后续步骤指令都是基于SSH协议,所以最好都添加一下公钥。
生成ssh密钥可以让我们不用每次pull, push都要输入密码。

1.打开git Bash 输入你的邮箱账号:

   ssh-keygen -t ed25519 -C "your_email@example.com"   

回车,回车,回车,中途会提示你输入密码啥的,无视就行,直接按回车,最后会出现类似如下内容:

Your identification has been saved in /home/you/.ssh/id_rsa.
#Your public key has been saved in /home/you/.ssh/id_rsa.pub.
#The key fingerprint is: # 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@youremail.com

2.打开#Your public key has been saved in /home/you/.ssh/id_rsa.pub 文件,复制里面所有内容。
3.登陆你的github帐户。然后 Account Settings -> 左栏点击 SSH Keys -> 点击 Add SSH key。
4.将上面复制的内容粘贴进“Key”文本域内,保存。
5.检查是否添加成功:在git bash 中输入

ssh -T git@github.com(你的git域名,有的公司购买的专有域名字不一样请注意)

如果,看到:
Hi username! You’ve successfully authenticated, but GitHub does not # provide shell access.
就表示你的设置已经成功了。

二、git 工作流

11Remote: remote Repo
Repository: Local Repo
Index: Local stage
Workspace: Local workspace

三.初始化拉取仓库相关

git init  

初始化一个 Git 仓库,执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据。
2.

git remote add <http地址>

与远程仓库关联。
3.

git fetch

这将更新git remote 中所有的远程仓库(repository) 所包含分支的最新commit-id, 将其记录到.git/FETCH_HEAD文件中
4.

git checkout develop

切换到develop分支
5.

git pull origin develop:develop

拉取远端到本地。
6.

git submodule init

初始化子仓库(如果有的话)
7.

git submodule update
或者git clone --recursive your-repo-url

拉取子仓库内容到本地

四.提交代码相关

git add .

添加所有文件到暂存区

git commit -m "提交说明简述"

提交到本地仓库

git push origin 本地分支:远端分支

将本地分支推送到远端分支。

五.配置相关

git config --global commit.template ./.gitcommit

配置每次commit 的时候的模板,内容在.gitcommit文件中自定义。

git config --global core.editor "code --wait"

配置GIT默认编辑器为vscode。

六.分支相关

git branch -a

列出所有本地分支和远端分支。
2.

git branch [branch-name]

新建一个分支,但依然停留在当前分支
3.

git checkout -b [branch]

新建一个分支,并切换到该分支。
4.

 git branch [branch] [commit]

新建一个分支,指向指定commit
5.

git branch --track [branch] [remote-branch]

新建一个分支,与指定的远程分支建立追踪关系。
6.

git branch -d [branch-name]

删除本地分支
7.

git push origin --delete 或者git push origin (空本地分支):远端分支

删除远端分支。

七.标签相关

 git tag [tag]

新建一个tag在当前commit。
2.

 git push [remote] --tags

提交所有tag。

八.查看信息相关

git status

查看所有变更
2.

git log

显示当前分支的版本历史。
3.

git log --stat

显示commit历史,以及每次commit发生变更的文件
4.

git diff

显示暂存区和工作区的差异。
5.

git diff [first-branch]...[second-branch]

显示两次提交之间的差异
6.

git reflog

显示当前分支的最近几次提交。

 git remote -v

显示关联的远端repo。

九.回退和合并

git reset --hard [commit]

重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致。

2.先切换到需要合并进来branch(例如develop),更新其内容,再切换到目标branch(例如master)
使用命令

git merge –-no-ff develop

将develop的内容merge到master。
三种参数详解见merge完全解析
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老灰╮(╯-╰)╭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值