Git基本使用和个人排错日志(持续更新)

git是一个日常使用最多的版本控制工具,对于个人开发者来说,掌握基本使用是非常重要的。本篇将简单介绍git的基本使用指令,以及个人在开发中遇到一些有关git的问题。

Git基本使用

1. 初始化版本库

csharp 复制代码
git init

到你的项目根目录中去,随便打开一个命令行窗口(cmd,bash,powershell都行),本地先做一个初始化。这条指令执行之后,会在当前目录下产生一个.git的文件夹(默认情况下是隐藏的),里头主要负责记录你的文件修改和版本控制信息的,不要轻易去改动它。

2.代码更新

sql 复制代码
git add <filename>
git add .

git commit -m "msg"

其实这样就已经可以开始正常使用git了,虽然目前还局限于本地。挨个说说吧,git add是将本次的更新的添加到本地仓库的缓存,如果不想将此次更新全部都添加,那么就可以在后面加上文件名(后缀也添上)。

git add还不算将更新提交到了代码仓库,要想添加到本地仓库,我们还需要使用git commit命令。-m后面需要跟着本次提交所附带的文字注释,比如:

csharp 复制代码
git add . #全部提交
git commit -m "第一版"

3.连接远程

接下来我们终于就想要提交到远程仓库(github,gitee等)了,我们首先需要连接到远程仓库(确保在此之前,你已经在github/gitee上建了一个空仓库)

xml 复制代码
git remote add <name> <address>

name是为你目前的项目取一个git语境下的别名(从这个语境出发,我们之后会讲到分支branch),address就是远程仓库的地址(主要的代码仓库中心通常会提供webURL,也就是xxx.git),比如:

bash 复制代码
git remote add origin https://github.com/JackVictor/git_basis.git

如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令。 它会列出你指定的每一个 远程服务器的简写。你也可以指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。

bash 复制代码
$ git remote -v
origin https://github.com/JackVictor/git_basis.git (fetch)
origin https://github.com/JackVictor/git_basis.git (push)

add了,commit了,连接了远程仓库,那么现在我们就可以将本地的代码更新push到远程了吗?还不能,我们还需要配置自己在远程仓库的账号,你可以做自己的项目觉得没什么,但是负责开源项目的人可不希望有个pusher是个无名氏/透明人(你也做不到这样)!

csharp 复制代码
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com #两个选其一就好
# 之后会让你输密码

连接成功之后,我们最好再进行一条指令,目前 它旨在保证在初始状态远程仓库的代码和本地的代码,版本都是一致的最新状态。

bash 复制代码
git pull #主要功能是:将远程版本库的修改并入当前分支。 如果当前分支落后于远程分支,那么默认情况下,它将快速合并当前分支以匹配远程分支。 

好了,接下来我们终于可以push了。

xml 复制代码
git push <name> <branch>

name就是在git语境下为你当前的项目取的别名,branch就是要推送的目标分支。如果提示报错,不妨加上--set-upstream可选项:

csharp 复制代码
git push --set-upstream origin master #例子。将当前的版本更新推送到origin项目当中的master分支

Git的个人排错日志

push之前先pull以保证代码提交的时序性

需要注意的是,在你上次pull代码之后到你现在要push代码之前,如果有其他人向你的远程仓库push了代码,那么当你在push的时候就要先用pull代码重新把远程仓库的代码拉下来,然后重新git add 、git commit后才能push。

事故现场

git pull 报错:error: Pulling is not possible because you have unmerged files.

报错:

$ git pull

error: Pulling is not possible because you have unmerged files.

hint: Fix them up in the work tree, and then use 'git add/rm <file>'

hint: as appropriate to mark resolution and make a commit.

fatal: Exiting because of an unresolved conflict.

翻译过来:

错误:无法提取,因为您有未合并的文件。

提示:在工作树中修复它们,然后使用"git add/rm<file>"

提示:根据需要标记解决方案并提交。

致命:由于未解决的冲突而退出。

解决方法:

提示了先提交

sql 复制代码
git add.git commit -m "xxx"
git pull origin master
git add .
git commit -m "xxx"
git push origin master

参阅

git-scm.com/docs

blog.csdn.net/ZTZY520/art...

相关推荐
noravinsc7 小时前
关于Git Flow
git
蜜獾云7 小时前
在Git中配置用户名和密码
git
scx_link9 小时前
通过git bash在本地创建分支,并推送到远程仓库中
开发语言·git·bash
南大白11 小时前
IntelliJ IDEA 运行时的 JVM 本地内存溢出崩溃
git
码农小旋风11 小时前
Claude Code 基础用法大全:对话、分析、修改、测试、Git 和工作流
人工智能·git·chatgpt·claude
南大白12 小时前
Git 撤回提交完整方案
git
像风一样的男人@12 小时前
python --实现代理服务器
git·ui
sbjdhjd13 小时前
从零搭建企业级 CI/CD(下):Jenkins+GitLab+Harbor 全链路实战指南
git·servlet·ci/cd·云原生·云计算·gitlab·jenkins
码云数智-大飞13 小时前
Go Channel 详解:并发通信的正确姿势
前端·数据库·git
OsDepK1 天前
OSMDE手机AI编程,一键Git
git·ai编程