git命令大全

概述

git安装好后, 可以在任何一个文件夹,右键打开Git Bash. 可以在该程序中直接运行linux命令或git命令

git工作机制的核心在于3个区:

  • 工作区: 电脑的本地目录(该目录中有创建的.git目录)
  • 暂存区: 暂存区的数据保存在.git/index文件中
  • 本地仓库: 一般从远程仓库通过clone创建, 之后可以通过pull保持与远程仓库的同步; 另一种方式是使用init在当前目录创建仓库.

git作为分布式版本管理软件与集中式的svn的最大区别在于

  • 分布式中, 每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库, 可以在本地仓库上进行独立开发.
  • 而集中式的SVN, 只有一个中央仓库, 所有版本信息都放在中央仓库上, 脱离了服务器,开发者便无法工作. 同时中央仓库的数据丢失也不会有其它备份,

git也有好用的GUI工具TortoiseGit, 作为开放人员用的最多的也还是在idea上使用git. 这里整理git的命令, 主要为了熟悉git, 以及深入对git的理解.

常用的Git命令

与本地仓库操作相关

命令含义
git init初始化本地库
git status查看本地库的状态(git status -s 简化输出结果)
3种状态:1. 无任何信息 2. 绿色文件 3. 红色文件
git add [file]多功能命令:
1. 开始跟踪新文件
2. 把已跟踪的文件添加到暂存区 3. 合并时把有冲突的文件标记为已解决状态
git commit –m “xxx” [file]将暂存区的文件提交到本地库,-m 后面为修改的说明

设置Git账户
命令含义
git config --list查看所有配置
git config --list --show-origin查看所有配置以及所在文件位置
git config --global user.name xxx设置git用户名
git config --global user.email xxx设置git邮箱
git init初始化本地库
git config core.autocrlf false取消换行符转换的warning提醒

git config --list --show-origin: 可以查看配置文件, 在配置文件上直接修改配置

--global: 用于设置全局账户, 而不是某个项目的

忽略文件

在idea中可以使用maven, java, scala等模板. 也可以自己编写该文件.

# 忽略所有的
.a 文件 *.a

# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a

# 只忽略当前目录下的 file 文件,而不忽略 subdir/file. 不递归的忽略
/file

# 忽略任何目录下名为 dir 的文件夹 递归的忽略
dir/

# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt

# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf

版本切换
命令作用
git log以完整格式查看本地库状态(查看提交历史)
git log --pretty=oneline以单行模式查看本地库状态
git reset --hard HEAD^回退一个版本
git reset --hard HEAD~n回退N个版本
git reflog查看所有操作的历史记录
git reset --hard [具体版本号,例如:1f9a527等]回到(回退和前进都行)指定版本号的版本,

git refloggit log的区别在于可以列出所有操作包括该版本之后的版本信息

注意: 因为版本的存在, git中所有文件都可以恢复, 没有真正的删除操作

文件撤回
命令作用
git checkout -- [file]从本地库检出最新文件覆盖工作区的文件(文件还没有提交到暂存区, 否则无效)
git reset [file] 或者 git restore –staged [file]从暂存区撤销文件
git restore \放弃在工作区的修改(还没有提交到暂存区)
git rm --cache [file]撤销对文件的跟踪.

比较文件
命令作用
git diff \将工作区中的文件和暂存区进行比较
git diff HEAD \将工作区中的文件和本地库当前版本进行比较
git diff --cached \查看暂存区和本地库最新提交版本的差别

分支操作

不使用分支,就是人与人之间协作;

使用分支,就是小组与小组之间的协作;或者两个版本互不影响同时开发.

从主干中拉取分支,开发完成,将工作,合并到主干。

分支常用操作

命令作用
git branch -v查看分支
git branch [分支名]新建分支
git checkout [分支名]切换分支
git merge [分支名]合并分支
git branch –d [分支名]删除分支
git checkout –b [分支名]新建切换

合并分支时注意: 例如将dev分支合并到master上, 需要先切回到master分支

处理分支合并时的冲突

两个分支合并式, 如果某个文件的某行在创建分支后, 同时在两个分支上都被修改, 则该行内容在合并时就会发生冲突

注意: 处理分支冲突时, 需要和组内成员商量, 确认.

处理方法

编辑冲突的文件, 把“>>>>>>>>>”、“<<<<<<” 和“========” 等这样的行删除, 编辑至满意的状态,之后 add, commit。
提交的时候注意: git commit 命令不能带文件名。

github远程仓库相关操作

简单操作

  1. 查看是否配置了密钥
cd ~/.ssh
  1. 生成密钥
ssh-keygen
  1. 将生成公钥拷贝值github账户的SSH and GPG keys
  2. 测试本地仓库与github的联通性
ssh -T git@github.com

.ssh 文件夹中会多一个文件 known_hosts, 其中记录了连接的 github 的 ip 账号。 `

push操作

本地仓库推送到GItHub

①准备本地库

②在GitHub上创建一个仓库

③增加远程地址

git remote add  <远端代号>   <远端地址>

    <远端代号> 是指远程链接的代号,一般直接用origin作代号,也可以自定义;
    <远端地址> 默认远程链接的url;

④本地库推送到远程库

git  push  -u  <远端代号>    <本地分支名称>

-u 把本地的master分支和远程的master分支关联起来
<远端代号> 是指远程链接的代号;
 <分支名称>  是指要提交的分支名字,比如master;

之后再此推送时可以简写:git push

⑤查看远程分支

git remote –v

⑥查看本地库做了的修改

git status

与远程仓库同步

方式一: fetch+ merge

方式二: pull

clone

刚开始做项目的时候,需要从远程库将项目先整到本机。

git  clone   <远端地址>   <新项目目录名>

解决冲突

push之后可能会发生冲突.

冲突原因:本地库的版本和远程库的版本都做了更新, 这时需要将本地版本更新与远程保存一致.

操作: 先pull将远端仓库的分支拉取合并到本地, 再此push

<think>好的,用户想要查找所有常用的Git命令及其用法,需要Git命令大全的完整列表和使用指南。首先,我需要回顾系统级指令,确保回答符合格式要求,比如行内数学公式用$...$,但这里可能用不上。然后按照用户可见层的要求,结构清晰,分步骤解答。 用户提供的引用有三个,都是关于Git的指南。引用[1]提到了Git命令大全和提交规范,引用[2]有配置别名和具体命令示例,引用[3]提到了撤销提交和高级技巧如stash。需要将这些引用内容整合到回答中,并在适当的位置添加引用标识。 首先,应该分基础命令、分支管理、远程仓库、撤销与回退、配置与别名、高级技巧等部分。每个部分列出常用命令,并附上示例,比如git init、git add、git commit等。同时,要引用文档中的相关内容,比如引用[1]的Git命令大全部分,引用[2]的配置别名,引用[3]的撤销提交和stash用法。 接下来需要检查是否需要生成相关问题,根据示例,用户希望生成相关问题,所以最后要添加相关问题部分。问题应该涵盖用户可能感兴趣的方面,如配置别名、撤销提交、解决冲突、提交规范等,结合引用中的内容来设计。 还要注意使用中文回答,避免使用Markdown格式,但用户示例中的代码块是允许的,所以命令示例需要用代码块包裹。同时,确保每个引用标识正确对应,比如提到提交规范时引用[^1],别名配置引用[^2],撤销提交引用[^3]。 最后,确保回答结构清晰,每个部分有标题,命令有解释和示例,相关引用正确标注。可能需要检查每个命令的正确性,比如git reset --soft HEAD~1确实来自引用[3],配置别名来自引用[2]等。这样用户能获得全面且可靠的Git命令指南。</think>### Git 常用命令大全及使用指南 #### 一、基础命令 1. **初始化仓库** ```bash git init ``` 创建新的本地仓库[^1]。 2. **添加文件到暂存区** ```bash git add <文件名> # 添加单个文件 git add . # 添加所有修改 ``` 3. **提交更改** ```bash git commit -m "提交说明" ``` 提交时需遵循规范的提交信息格式(如语义化提交)。 --- #### 二、分支管理 1. **创建/切换分支** ```bash git branch <分支名> # 创建分支 git checkout <分支名> # 切换分支 git checkout -b <分支名> # 创建并切换 ``` 2. **合并分支** ```bash git merge <分支名> # 将指定分支合并到当前分支 ``` 3. **删除分支** ```bash git branch -d <分支名> # 删除本地分支 ``` --- #### 三、远程仓库操作 1. **关联远程仓库** ```bash git remote add origin <远程仓库URL> ``` 2. **推送代码** ```bash git push -u origin <分支名> # 首次推送需加 -u git push # 后续推送 ``` 3. **拉取更新** ```bash git pull origin <分支名> # 拉取远程分支更新 ``` --- #### 四、撤销与回退 1. **撤销未提交的修改** ```bash git restore <文件名> # 撤销工作区修改 git restore --staged <文件名> # 撤销暂存区修改 ``` 2. **回退提交** ```bash git reset --soft HEAD~1 # 撤销提交但保留更改[^3] git reset --hard HEAD~1 # 彻底回退到上一版本 ``` --- #### 五、配置与别名 1. **设置全局用户名/邮箱** ```bash git config --global user.name "用户名" git config --global user.email "邮箱" ``` 2. **命令别名** ```bash git config --global alias.st "status" # 简化命令 ``` --- #### 六、高级技巧 1. **暂存临时修改** ```bash git stash # 保存当前修改 git stash pop # 恢复暂存内容 ``` 2. **查看提交历史** ```bash git log --graph --oneline # 图形化显示提交记录 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值