git入门使用

前言

原创链接: git入门使用
https://blog.csdn.net/weixin_43850253/article/details/113616043


下载

首次安装配置

ssh 配置多个key 这部分有一个好教程: Git配置多个SSH-Key

设置全局的用户和密码(如果要设置某个项目的话可以初始化后再config,局部会覆盖掉全局,用法和全局的类似,只是去掉 --global参数而已):

git config --global  user.name "这里换上你的用户名"
git config --global user.email "这里换上你的邮箱"

另外,个人实测还是ssh比较稳定,推送到github或者gitee。下面就说一下怎么配置ssh。

终端可以使用这个:

ssh-keygen -t rsa -C '这里换上你申请github的邮箱' -f C:/Users/【用户名】/.ssh/github_id_rsa

git bash 工具(鼠标右键可以看到有git Bash选项,一般默认安装git后都会有), git bash工具可以跑一下linux命令,并且像这里的路径(~代表用户目录,即等同于windows下的C:/Users/【用户名】):

ssh-keygen -t rsa -C '这里换上你申请github的邮箱' -f ~/.ssh/github_id_rsa

运行后这两个直接回车即可:
在这里插入图片描述

这里要新建一个config
在这里插入图片描述
这里我还有个gitee_id_rsa和id_rsa大家不管,感兴趣的可以看文章最后两部分:giteevscode

config用编辑器打开(比如vscode, sublime, 记事本等), 向config添加下面配置

Host github.com
  HostName github.com
  PreferredAuthentications publickey
  IdentityFile C:/Users/Administrator/.ssh/github_id_rsa

然后就去github那里添加ssh公钥
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
添加标题和公钥即可。标题只要你看的清楚就行,公钥就是github_id_rsa.pub中的字符串,拷贝进去就行。

在这里插入图片描述
然后在终端中(这里路径无所谓)输入如下命令,若为下图则表示配置成功:

ssh -T git@github.com

在这里插入图片描述



本地新建项目

如果没有下面文件, 需要
在这里插入图片描述

git init

这个时候目录下会有个.git文件, 如果被隐藏了需要设置一下:
在这里插入图片描述



从远程仓库(非空) 下载

git clone 【仓库地址】

在这里插入图片描述

从远程仓库同步到本地

这个步骤是已经建立了关联的情况下才可以

git pull 【远程仓库名字】 【远程分支名字,默认是master】

如果遇到冲突,会提示错误,然后需要我们解决冲突。vscode的话会有如下提示:(JetBraint的软件有左中右三个对比框,我觉得还挺好用) 不过vscode的看起来也挺好用的,有冲突的文件会有C的蓝色的标识。冲突的地方会高亮:
在这里插入图片描述
由图我们可以选择 采用当前更改, 则是保留本地的版本, 如果选择采用传入的更改,则是 保留远程分支的更改,并将本地改为远程分支一样的版本。



把本地的仓库推到远端

我们在本地写完一个功能后想推到远端仓库给大家共享
添加文件追踪:

git add .

提交到本地仓库, 保存修改到本地仓库

git commit -m "【提示信息】"

提交到远程仓库

git push 【远程仓库名】 【远程仓库分支名,默认是master】

有时候可能要更详细些, 例如本地分支和远程分支都不是默认的时候,
比如本地分支master, 远程分支main,push操作应该为如下:

 git push origin master:main



远程仓库

实际上,一个本地仓库可以对应多个远程仓库.如下图我们发现一个关联了gitee(远程仓库), 一个关联了github(远程仓库)
在这里插入图片描述
输入一下指令即可查看分支:

git remote -v

添加一个远程仓库

git remote add 【远程仓库名】 【远程仓库地址】

删除一个远程仓库

git remote remove 【远程仓库名】

例子:
一个新建的项目, 发现什么远程仓库都没有:
在这里插入图片描述
我们给它添加一个名为warehouse的仓库(名字清晰即可,很多人呢命名为origin, 而我比较喜欢github仓库就叫做github, gitee仓库就叫做gitee)。
在这里插入图片描述
在这里插入图片描述
我们发现这时候有了一个远程仓库,那么以后推送到远端的操作在(add和commit后)就只要
(分支名默认是master, 如果没有新建分支的话)

git push warehouse master

而我们发现添加有误或者这个warehouse的远程仓库不用了,我们可以:
在这里插入图片描述
这时候就删除掉了。



撤销提交

如果我们发现已经写错了,但是已经提交到本地仓库。这时候这部分内容就可以帮助到你了
撤销一个commit

git reset --soft HEAD^

git reset --soft HEAD~1

撤销两个commit

git reset --soft HEAD~2

然后如果已经push,则(注意,这是强制推送,发送前请确保本地仓库是已经想要的了,因为这部操作会强制覆盖掉远程仓库, 该操作有时也用来强制远程仓库更改为本地仓库的版本, 一般不建议用这个,慎重慎重!!!)

git push origin master –f



忽略文件或文件夹

在项目根目录下,新建一个文件 .gitignore
比如我们要忽略 a文件夹下的所有文件,我们需要在 .gitignore 中添加

/a/

如果忽略 后缀为 .txt的文件,则在 .gitignore 文件中添加

*.txt

如果忽略 后缀为 .txt的文件,但readme.txt需要追踪,则在 .gitignore 文件中添加

*.txt
!readme.txt

更多用法请查找网上其他资料,本文会逐渐补充…



gitee

终端可以使用这个生成gitee_id_rsa和gitee_id_rsa.pub文件:

ssh-keygen -t rsa -C '这里换上你申请gitee的邮箱' -f C:/Users/【用户名】/.ssh/gitee_id_rsa

在config文件中添加:

Host gitee.com
  HostName gitee.com
  PreferredAuthentications publickey
  IdentityFile C:/Users/Administrator/.ssh/gitee_id_rsa

然后再gitee用户界面添加ssh公钥即可使用。
在这里插入图片描述
公钥那一栏就是把gitee_id_rsa.pub文件的一行字符串拷贝进去即可(注意,是gitee_id_rsa.pub文件中的而不是gitee_id_rsa文件)。
在这里插入图片描述
然后在终端中(这里路径无所谓)输入如下命令,若为下图则表示配置成功(截图来自gitee官方文档):

ssh -T git@gitee.com

在这里插入图片描述



使用vscode为工具远程连接(ssh)

这个工具的好处就是可以使用vscode写代码,而不用在终端那里敲新建文件,用vim进行打代码了。
需要生成id_rsa.pub文件, 在git Bash工具中输入

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

然后再config文件中加入

Host 【主机名字,自己清楚就好】
  HostName 【远程主机ip】
  Port 【目标端口,默认22】
  User 【用户,默认root】
  IdentityFile C:/Users/Administrator/.ssh/id_rsa

然后vscode需要下载插件:
在这里插入图片描述
把 id_rsa.pub 的字符串追加到远程主机上的 authorized_keys 文件中 (注意不要覆盖掉其他的公钥)
在这里插入图片描述
如果没有的话,就新建,注意检查一下:

vim /etc/ssh/sshd_config

有一行要注意(默认被注释掉,要取消误差):

PubkeyAuthentication yes

在这里插入图片描述重启一下:

systemctl restart sshd.service

这个时候我们就可以用vscode链接远程仓库了。首次打开某个目录可以这么操作:
在这里插入图片描述
这个插件也会记录之前打开过的文件,以实现快捷进入:
在这里插入图片描述


结语

Git是一个强大的版本控制工具,它有利于团队协作开发和代码版本管理。关于分支的部分这里就不再介绍了,大家可以去网上查找相关资料。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值