git 连接 github 与 gitee

一、配置用户名与邮箱

git 操作之前要先配置好用户名与邮箱。

配置用户名:$git config --global user.name 名称

查看用户名:$git config user.name

配置邮箱:$git config --global user.email 邮箱

查看邮箱:$git config user.email

二、初始化

**情况一:**决定将某个文件夹作为本地仓库时,需要进行初始化。

**情况二:**如果将远程仓库 clone 到本地后,得到的文件夹则会自动成为本地仓库。

初始化:$git init

三、查看文件状态

文件状态根据所在位置不同,分为 untracked、unstaged、staged 三种。

命令:$git status

其中 untracked 和 unstaged 都处于未添加的状态,需要用 git add .** 来添加至暂存区,也就是 staged 状态,但此时还没有加入本地仓库,需要使用 **git commit -m "提示信息" 添加至本地仓库,这样才算得上一次提交,而**$git log**统计的正是每次 git commit 的情况。

四、查看日志

命令:$git log options

options 选项有如下几种,可写成:$git log --all --pretty=oneline --abbrev-commit --graph

选项含义:

--all 表示显示所有分支

--pretty=oneline 表示将信息显示为一行

--abbrev-commit 表示简化 commit ID

--graph 表示图形化显示

五、回退至某个版本

命令:$git reset --hard commit ID

commit ID 可以通过 git log 查看;对于删除的日志,则可以通过 git reflog 获取 commit ID。

六、添加忽略文件

每次添加时,一般使用 **$git add .**添加全部。如果不想添加某些文件,可以在 .gitignore 文件中提前设置。

**第一步:**使用 touch 命令创建 .gitignore 文件。

**第二部:**使用 vim 在 .gitignore 文件中编辑要忽略的文件名称。

七、分支

master 为主分支,有时候根据工作需要会添加新的分支,以开发新的功能。

创建分支:$git branch 分支名

切换分支: $git checkout 分支名

在 git log 中 head 指向的就是当前分支,此外在 git bash 窗口中也可以直接看到当前在哪个分支。

创建并切换分支:$git branch -b 分支名

查看分支: $git branch

删除分支: $git branch -d 分支名

强制删除分支: $git branch -D 分支名

强制删除的情况适用于某个分支做了修改,但未提交,此时如果强制删除,则删除分支的同时,修改也同时被丢弃。

八、远程仓库

远程仓库一般是 github 或者 gitee,注册完成之后新建一个远程仓库,一个仓库只能存放一个项目。实现远程仓库与本地仓库的连接有两种方法,一种是通过 http 实现,另一种通过 SSH 实现。

使用 http 连接时需要输入账号密码,所以一般采用 SSH 公钥连接。

首先在 git bash 中输入**ssh-keygen -t rsa**生成公钥,然后通过 **cat ~/.ssh/id_ras.pub**查看公钥。将公钥复制粘贴至远程仓库,即可完成连接。

验证是否连接:$ ssh -T git@gitee.com

(一)添加远程仓库

命令:$git remote add origin SSH_url/http_url

两种 url 都可以作为地址添加至本地仓库的远程仓库对象表中,但后续使用时对应的连接协议不同。

添加远程仓库与密码无关,不是自己的远程仓库也可以添加至自己本地仓库的对象表中,但肯定 push 不上去。

(二)查看远程仓库对象表

命令:$git remote -v

一个本地仓库可以添加很多远程仓库,通过该命令可以查看远程仓库名称。

如果加上选项**-v**,不仅会显示远程仓库名称,也会显示出对应该仓库的 url。

$git remote 仓库名-url表示查看指定远程仓库的 url。

(三)推送

命令:$git push 远程仓库名/远程仓库的url 本地分支名:远程分支名

例如:$git push origin master:master

如果是在一个项目上做的修改,一般用 $git push 就足够。

(四)拉取和抓取

拉取:$git pull 远程仓库名 分支名

拉取表示将远程仓库的修改抓取至本地后顺带进行了 merge 合并。

抓取:$git fetch 远程仓库名 分支名

抓取表示将远程仓库的修改抓取至本地后未进行 merge 合并

上述不指定分支名的话,默认拉取/抓取所有分支。

(五)克隆

命令:$git clone http_url

九、解决冲突

不论是本地仓库的冲突,还是远程仓库的冲突都是在本地解决。如果是本地仓库的冲突,直接修改文件,再提交。如果是远程仓库的冲突,先拉取到本地,在本地将文件修改之后,再提交。

相关推荐
Flynt15 小时前
HN 382分热文里的终端小技巧,我实测了一遍,git pickaxe 最值
git·命令行
横木沉1 天前
IntelliJ IDEA 无法识别 Git:Git is not installed 问题解决
java·git·github·intellij-idea
为你学会写情书1 天前
Git 学习指南:从日常命令到多人协作与提交规范
git
东小黑1 天前
Git 仓库操作与 VSCode 使用指南
git·vscode·gitee
拼图2092 天前
Git常用语法
分布式·git·学习
ShineWinsu2 天前
对于Git:基础操作的超详细保姆级解析
linux·c++·git·面试·备份·管理·版本控制器
沉迷...2 天前
Git skip-worktree 使用笔记(本地忽略配置文件)
javascript·git
解道Jdon2 天前
JDK 27发布:紧凑对象头、G1默认、量子安全TLS
ide·windows·git·svn·eclipse·github·visual studio
天天喝旺仔2 天前
Git 内部原理深度解析:从 blob/tree/commit 对象到 packfile 与垃圾回收
数据结构·数据库·git·算法·哈希
艾莉丝努力练剑2 天前
【Git:综合复盘】Git 原理与使用
大数据·人工智能·git·elasticsearch·面试