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...

相关推荐
p-knowledge4 小时前
git常用操作
git
源码12157 小时前
git命令提交项目
git
周星星_少年只有一个面15 小时前
git入门环境搭建
git
五味香15 小时前
Linux学习,ip 命令
linux·服务器·c语言·开发语言·git·学习·tcp/ip
aPurpleBerry16 小时前
【问题解决】Github上手动Delete file之后, git remote add+git push出错
git·github
M_emory_18 小时前
解决 git clone 出现:Failed to connect to 127.0.0.1 port 1080: Connection refused 错误
前端·vue.js·git
Make_magic18 小时前
Git学习教程(更新中)
大数据·人工智能·git·elasticsearch·计算机视觉
不穿铠甲的穿山甲18 小时前
git-.git目录解析
git
唔知小罗1 天前
git config是做什么的?
git
不是鱼1 天前
新人程序猿必备的git技能(超实用基础版)
git·github