git教程

写教程是对自己知识的一种总结,总结出来跟大家分享。

在当前目录创建一个空的git仓库。
git init
git提交修改需要两步,下面是把xxx的修改提交到仓库:
git add xxx
git commit -m "注释"

下面说说后悔了怎么办。
如果你修改了文件,还没有add,可以用下面命令回退到修改前状态:

git checkout -- <file>...

如果要取消所有没有add的修改:

git checkout .

如果你已经add了,还没commit,可以用下面命令回退到add前状态:
git reset HEAD^ <file>...
如果你注释写错了,需要修改,可以用下面命令,只能改最近一次提交的注释。
git commit -amend -m "注释更改"
如果你更悲催,已经commit了,可以用下面命令,回退到commit前一个版本。
git reset --hard HEAD^

总之在你push到远程仓库之前,想怎么回退就怎么回退,有git就这么任性。更多后悔药问题点这里

现在是信息社会,我们需要各种信息,下面命令查看当前git工作区状态信息
git status
下面命令显示工作区代码有哪些修改
git diff
下面命令显示每次提交log,会显示很多
git log
下面只显示最近一个
git log -1
下面比上一个多显示diff信息。
git log -1 -p
下面只显示一行,只显示commit ID和注释。
git log --pretty=oneline
下面跟上面类似,但commit ID只显示几位,更简洁。
git log --pretty=oneline --abbrev-commit

下面讲讲跟远程仓库有关的问题。
关联一个远程仓库,origin是给远程主机起的名,后面是它的地址。
git remote add origin git@xxxxx
删除一个主机名
git remote rm <主机名> 
更名一个主机名
git remote rename <原主机名> <新主机名>
查看有几个主机名
git remote
跟上面类似,加显示主机地址。
git remote -v

知道远程主机地址,我们就可以把远程主机的代码拉下来了。
git clone git@xxxxx
会在当前目录建立一个文件夹,文件夹名字跟项目名字一样,然后把远程仓库克隆到本地。

本地仓库的修改需要推送到远程仓库,远程的修改也要拉下来合入本地,就要用到两个命令:

git push <远程主机名> <本地分支名>:<远程分支名>
推送本地分支,合入远程分支。
git push <远程主机名> <本地分支名>
推送本地分支,合入远程分支,远程分支跟本地分支同名。
git pull <远程主机名> <远程分支名>:<本地分支名>
拉取远程分支,合并到本地分支。
git pull <远程主机名> <远程分支名>
拉取远程分支,合并到本地当前分支。

pull是拉取远程分支,并自动合并到本地分支,如果本地有修改,一般会出现冲突。
但pull时,有时候报冲突,有时候自动合并,不报冲突。
会产生很多奇怪问题,有时候很难检查出来。
推荐的办法是用fetch命令。
git fetch <远程主机名> <分支名>
如果不加<分支名>,则拉取服务器上所有更新。
拉取后再合并需要的分支到本地分支。
例如:
git fetch origin
git merge origin/master
合并origin/master到当前分支上。
当然这样做也会有冲突,但比较好处理。
在merge前diff一下,可以掌握有什么改动。
git diff origin/master
merge后最好确认一下合并的是否符合我们意图。

上面没有提到branch命令,将在下一篇文章中讲述。

<think>好的,用户想学习Git的使用方法,我需要提供一个结构清晰的教程。首先,我得回想一下Git的基本概念和常用命令,确保覆盖安装、配置、基本操作、分支管理和远程仓库这些关键点。 用户可能刚接触Git,所以要从安装开始。记得引用中的例子提到安装后输入git --version检查版本,这部分要包括进去。然后配置用户名和邮箱,这是初始化设置的重要步骤。 接下来是基本操作,初始化仓库、添加文件、提交更改。用户可能需要具体的命令示例,比如git init,git add,git commit这些。要注意强调每个步骤的作用,比如暂存区和提交的区别。 分支管理部分,创建、切换、合并分支是重点。需要解释分支的作用,以及如何解决合并冲突,这部分容易出问题,要详细说明步骤。 远程仓库方面,用户提到的git remote add来自引用[2],所以需要正确引用。还要包括克隆、推送和拉取的操作,这些都是团队协作中的常用命令。 最后,用户可能对更高级的操作感兴趣,比如撤销操作、查看历史、忽略文件等,可以放在进阶部分。但要注意不要太过深入,保持教程的基础性。 需要检查所有命令的正确性,确保LaTeX格式符合要求,行内公式用$...$,独立公式用$$...$$。同时生成相关问题,帮助用户进一步学习。比如如何解决冲突、Git与其他工具的区别等。 确保回答结构清晰,分步骤讲解,引用正确,并且语言简洁易懂。避免使用专业术语过多,必要时进行解释。最后验证所有引用标记是否正确对应,比如引用[^1]和引用[^2]的来源。</think>### Git使用教程 #### 1. Git安装与配置 - **安装Git**:访问官网下载对应系统版本,安装后通过终端输入: ```bash git --version ``` 若显示版本号(如$git version 2.39.3$),则安装成功[^1]。 - **全局配置**: ```bash git config --global user.name "Your Name" git config --global user.email "[email protected]" ``` 此配置将关联提交记录的作者信息。 #### 2. 基础操作 - **初始化仓库**: ```bash git init ``` 该命令会在当前目录生成隐藏的$.git$文件夹,用于版本控制。 - **文件追踪与提交**: ```bash git add README.md # 添加单个文件到暂存区 git add . # 添加所有修改到暂存区 git commit -m "Initial commit" # 提交更改并添加描述 ``` 提交记录的哈希值格式为$commit\ 40a1b2c3...$,用于唯一标识每次提交。 #### 3. 分支管理 - **分支操作**: ```bash git branch dev # 创建分支 git checkout dev # 切换分支 git merge dev # 合并分支到当前分支 ``` 冲突解决示例: ```bash # 手动修改冲突文件后执行 git add conflicted_file.txt git commit -m "Resolve merge conflict" ``` #### 4. 远程仓库协作 - **关联远程仓库**: ```bash git remote add origin git@github.com:user/repo.git # 引用自[2] ``` - **推送与拉取**: ```bash git push -u origin main # 首次推送 git pull origin main # 拉取远程更新 ``` #### 5. 进阶操作 - **撤销修改**: ```bash git checkout -- file.txt # 撤销工作区修改 git reset HEAD file.txt # 撤销暂存区修改 ``` - **查看历史**: ```bash git log --graph --oneline # 图形化显示提交历史 ``` - **忽略文件**: 创建$.gitignore$文件,添加需忽略的文件模式: ``` *.log /temp/ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值