Git的基本使用与常用命令,以及上传文件到GitHub仓库

本文详细介绍了Git的环境配置、本地仓库操作、版本控制、分支管理、解决冲突、忽略文件设置、SSH配置、远程仓库交互以及GitHub的使用,包括克隆、拉取、推送等操作,旨在提供一套完整的Git与GitHub协同工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Git环境配置

查看配置

git config -l

查看全局配置

git config --global --list

所有的配置文件都保存在本地

系统级配置文件:gitconfig 目录:Git\etc\gitconfig

全局配置文件:.getcongig 目录:C:\Users\Administrator.getconfig

配置全局配置文件:用户名和密码(必须配,可任意)

 git config --global user.name "robot"
 git config --global user.email "2602341707@qq.com"

2、操作本地仓库

初始化本地仓库

git init

将文件放入暂存区域

git add .

将暂存区域的文件提交到git仓库

git commit -m "附加消息内容"

相当于add与commit两句命令

git commit -am "附加消息内容"

3、查看状态信息变化

查看状态

git status

查看文件的变化

git diff aaa.txt

查看两个版本之间的区别(两个版本号)

git diff 3158ffc26409ea7bba47a 844a31fbcb918b8c2

查看工作区与暂存区之间的区别

git diff --cached

查看两个分支之间的区别

git diff 分支1 分支2

4、操作提交的版本

查看历史提交过的版本

git log
    git log --oneline  # 简洁显示
    git log -n4  # 查看最近的4条
    git log -n4  --oneline  # 查看最近4条,简洁显示

查看全部提交的的信息(包括已经撤销的版本)

git reflog

回退到某个版本(先使用 git log 查看版本号)

git reset --hard 版本id

将暂存区的内容全部清空

git reset head

将暂存区的指定内容清除

git reset head 文件名

5、分支操作

创建分支

git branch 分支名

查看全部分支信息

git branch -vv

切换分支

git checkout 分支名

合并分支

git merge 新分支  # 将新分支合并到当前分支上 

查看当前分支合并过的分支

git branch --merged

删除分支

git branch -d 分支名

6、解决冲突

先创建一个冲突

在master分支中创建一个新分支cart,在cart分支下创建一个文件cart.java,在文件添加hello world,然后commit到本地仓库,再切换回master中,在cart.java文件添加hi world,然后commit到本地仓库,最后合并分支,发现报错,发生冲突

$ git merge cart
CONFLICT (add/add): Merge conflict in cart.java
Auto-merging cart.java
Automatic merge failed; fix conflicts and then commit the result.

找到冲突的原因

<<<<<<< HEAD
hi world
=======
hello world
>>>>>>> cart

解决冲突

将文件中的分隔符去除掉,然后手动选择要保留的内容,将另一个删除掉,例如保存master分支的内容,修改后文件如下

hi world

然后再次add、commit即可

7、临时加任务处理

在一个工作空间中,当此时的任务还没有处理完,需要处理另一个新任务时,那么也不能将原来没处理完的任务删除,也不能和新的任务混淆,所以就需要将原来的任务暂时存储起来,然后执行新的任务

将当前工作空间的任务存储起来

git stash

然后进行处理新的任务,当处理完新的任务后,将原来的任务取出来,接着处理

取出原来的任务

git stash apply
git stash pop

8、忽略文件

先创建一个目录

mkdir doc

向目录中添加文件及内容

echo "hello world" > doc\file

创建一个忽略文件

vim .gitignore

将要忽略的文件添加到此.gitignore中

# 为注释
*. txt # 忽略所有.txt结尾的文件
!1ib.txt # 但1ib.txt除外
build/ # 忽略bui1d/目录下的所有文件
doc/*.txt # 会忽略doc/notes.txt但不包括doc/server/arch. txt

再次执行git的一些命令时,就会忽略此文件中包含的文件了

9、配置SSH

生成公钥和私钥

ssh-keygen -t rsa -C "你自己的邮箱"

接下来的步骤都可以直接按回车继续(也可以选择输入生成的文件名和密码),最后会生成一个私钥和一个公钥,在系统盘的user –> 用户名 –> .ssh文件中,id_rsa和id_rsa.pub,其中id_rsa.pub是公钥,后续将此文件中的内容复制到GitHub的SSH中

在GitHub的setting中,有一个是SSH and GPG keys,然后点击右面的New SSH key,就可以创建一个SSH key了,标题随意写,内容就复制id_rsa.pub中的内容

使用效果

比如当需要上传文件绑定地址的时候,就可以直接绑定SSH的地址,而不是HTTPS的,因为设置了SSH公钥,所以可以无需输入账号和密码,就能操作,如果使用HTTPS,则需要输入账号和密码

在这里插入图片描述

10、操作远程仓库

克隆

克隆远程仓库

git clone https://github.com/RobotCloud/GoldMiner.git  # HTTPS方式
git clone git@github.com:RobotCloud/GoldMiner.git  # SSH方式(两种方式下载的内容是一样的)

关联

将代码仓库与github关联

git remote add origin github代码仓库的url地址

查看是否已经关联成功

git remote -v

拉取

拉取master分支的内容到本地

git pull origin master

拉取全部分支的内容到本地

git pull

如果本地文件和远程仓库的文件无关联,则拉取时会报错,此时需要设置参数忽略

git pull origin master --allow-unrelated-histories

强行覆盖本地分支

git reset --hard origin/master

推送

提交到远程仓库

git push -u origin master # 将master分支上的内容推送到远程仓库的分支上

提交分支到远程仓库的分支

git push -u origin dev:dev  # 提交dev分支到远程仓库中的dev分支中

提交所有分支到远程仓库中

git push 别名 --all

删除与远程仓库的关联

git remote remove 远程仓库别名 # 例如默认的别名就是origin

修改与远程仓库的别名

git remote rename 远程仓库别名  新远程仓库别名

11、上传文件到GitHub仓库

上传文件到远程仓库中的流程

git init # 初始化本地git仓库
git add README.md # 将文件添加到暂存区
git commit -m "first commit" # 将暂存区的内容提交到本地git仓库
git remote add origin git@github.com:RobotCloud/part3.git # 绑定远程仓库地址
git push -u origin master # 将本地仓库中的内容提交到远程仓库的master分支下

如果远程仓库非空,则需要先将远程仓库pull下来,然后再进行操作,修改后再push到远程仓库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值