Git教程

Git教程及命令

git命令汇总

 

在使用 git 之前,建议使用别名设置 git log,这样看日志会更舒服。设置完成后输入git lg即可显示操作记录。命令如下:

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

版本管理

  1. 创建版本库

    git init

  2. 工作区 暂存区 HEAD

    git add # 添加到暂存区

    git commit # 添加到 HEAD

  3. 版本回退

    如果需要查看历史版本记录,可以使用 git reflog

    git reset --hard <hash_num>

  4. 撤销修改

    修改未提交到暂存区

    git checkout -- <file>

    修改已提交到暂存区

    git reset HEAD <file>

    然后执行 git checkout

  5. 删除文件

    git rm <file>

远程仓库

  1. 关联远程仓库

    需要先创建远程仓库。

    git remote add origin <远程仓库地址>

  2. 第一次推送

    git push -u origin master

    第一次推送master分支时,加上了-u 参数,Git 不但会把本地的 master分支 内容推送的远程新的 master分支,还会把本地的 master分支 和远程的 master分支关联起来,在以后的推送或者拉取时就可以简化命令。

  3. 克隆远程库

    git clone <远程库地址>

分支管理

  1. 查看分支:git branch

  2. 创建分支:git branch

  3. 切换分支:git checkout

  4. 创建+切换分支:git checkout -b

  5. 合并某分支到当前分支:git merge # 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而 fast forward(默认使用该模式)合并就看不出来曾经做过合并。

  6. 删除分支:git branch -d # 如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除。

  7. bug分支:git stash 一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

多人协作

查看远程库信息,使用git remote -v

多人协作的工作模式通常是这样: 1. 首先,可以试图用git push origin <branch-name>推送自己的修改; 2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并; 3. 如果合并有冲突,则解决冲突,并在本地提交; 4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功! 5. 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

标签管理

  1. git tag <tagname>: 用于新建一个标签,默认为HEAD,也可以指定一个commit id;

  2. git tag -a <tagname> -m "blablabla...": 可以指定标签信息;

  3. git tag: 可以查看所有标签。

  4. git push origin <tagname>可以推送一个本地标签;

  5. git push origin --tags: 可以推送全部未推送过的本地标签;

  6. git tag -d <tagname>: 可以删除一个本地标签;

  7. git push origin :refs/tags/<tagname>: 可以删除一个远程标签。

疑难杂症

在远程库修改后未同步到本地库,push失败

# git push origin todo

To github.com:mumengyun/linux.git

! [rejected] todo -> todo (fetch first)

error: failed to push some refs to 'git@github.com:mumengyun/linux.git'

解决办法:这个问题是因为远程库与本地库不一致造成的,那么我们把远程库同步到本地库就可以了。

git pull --rebase origin master

这条指令的意思是把远程库中的更新合并到本地库中,–rebase 的作用是取消掉本地库中刚刚的 commit,并把他们接到更新后的版本库之中。

参考 廖雪峰的Git教程

<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 "your.email@example.com" ``` 此配置将关联提交记录的作者信息。 #### 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、付费专栏及课程。

余额充值