文章目录
- 对所有本地仓库的用户信息进行配置 1、对你的commit操作设置关联的用户名 git config –global user.name “[name]” 修改用户名 git config –global –replace-all user.name “[name]” 2、对你的commit操作设置关联的邮箱地址 git config –global user.email “” 修改邮箱地址 git config –global –replace-all uesr.email “” 3、启用有帮助的彩色命令行输出 git config –global color.ui auto
- 查看用户名: git config user.name 查看密码: git config user.password 查看邮箱: git config user.email 查看配置信息: git config –list
- 拉取远端仓库 git clone 远程仓库地址 代码拉取下来后,就需要有分支的概念
- 查看分支 星号(*)表示当前所在分支 查看远端分支 git branch -r 查看本地分支 git branch 查看所有分支 git branch -a 分支操作 创建新分支 下级用/ git branch dev git branch dev/featrue 修改本地分支名称 git branch -m oldName newName 检出分支、切换分支到dev git checkout dev 本地分支推送至远程分支 git push origin 本地分支名:远程分支名 > git push origin develop:develop 删除本地分支 git branch -D branch_name 删除远程分支 git push origin –delete branch_name > git push origin –delete develop
- 撤回删错的分支 1、找到删除branch的 hash 值 git reflog 2、创建对应branch git checkout -b new_branch_name hash 撤回提交 HEAD:它是一个指向你正在工作中的本地分支的指针,可以将 HEAD 想象为当前分支的别名。 HEAD^ 的意思是上一个版本,也可以写成HEAD~1如果你进行了2次commit,想都撤回,可以使用HEAD~2或者HEAD^^ reset 用于本地的commit操作撤回 1、代码恢复到上一次提交 git reset –mixed HEAD^ 参数: –mixed 默认参数 意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作。 –soft 意思是:不删除工作空间改动代码,撤销commit,不撤销git add 。 –hard 意思是:删除工作空间改动代码,撤销commit,撤销git add . 操作。 2、如果只是修改注释 git commit –amend 会进入默认vim编辑器,修改注释完毕后保存就好了 revert 用于远程push操作的撤回 因为是远程,revert是会有新纪录C2’此时C2’ 的状态与 C1 是相同的。 git revert HEAD^
- 拉取对应分支代码 git pull origin branch_name
- 用于暂时保存没有提交的工作。运行该命令后,所有没有commit的代码,都会暂时从工作区移除,回到上次commit 时的状态。 1、没有被 add 过的文件不会被贮藏 2、git stash -u 可以把没有被add的文件也被贮藏 (–include-untracked) SourceTree里的贮藏 1、添加贮藏 git stash save “贮藏备注” 2、查看贮藏列表 git stash list 3、取出指定内容 git stash apply stash@{0}
- 小白入职第一天: 1、安配配置git 2、拿到分配的账号登录公司代码仓库如gitlab、gitee、coding 3、账号的安全设置处绑定公钥 4、$ git clone 对应仓库地址 5、大佬安排看看代码,熟悉一下
- 场景1:小白进了一家私企没几天就来了一个工期3天的新需求,准备要大展身手。 于是,小白checkout出了公司的dev分支,开始大干一番$ git checkout dev
- 2天过去了,产品经理问,小白啊,怎么没有看见你的近两天的代码提交呀?还没开始吗? 小白:原来没写好也要提交代码给上级看,那我马上提交。答到:『噢噢,写的差不多了,马上提交』 $ git add . $ git commit -m "新功能" $ git push origin 本地分支名:远程分支名 大佬:我刚补的bug合并代码发版了,咦,怎么起不来服务了,一看代码提交,小白你提交的代码有问题,影响到主业务了。 小白:啊(慌了)! 大佬:如果你需要开发新功能,要把当天的代码提交的话,你就在feature新建一个功能就行,测试好我再合并发版。大佬耐心讲到我司规范: –master 是主分支,一般是保护分支,管理员才能操作 –dev 是开发分支,开发先拉这个分支 –feature 是功能模块,如: —-feature/login (登录功能) —-feature/用户导入 (导入功能) 新增的功能加就行: 『feature/功能名称』 –hotfix 修补bug模块,如: —-hotfix/login (修补登录功能) —-hotfix/导入 (修补导入功能) –refactor 重构模块 小白赶忙撤回提交: $ git log 查看提交日志 找到自己提交的hash,例如:(2c479a5) $ git revert ${commit hash} …${commit hash} revert后那次提交的代码就会被撤回,日志的hash显示为(c18fad1ba),但是我辛辛苦苦写的代码咋就不见了。 于是,创建并切换分支feature/我的功能 $ git checkout -b feature/我的功能 该分支是从当前分支上检出的,所以所有文件内容都和当前分支一模一样。再revert一遍即可 $ git revert c18fad1ba 可以看见,代码都回来了。
- 场景2 :小白开启了新分支完成功能后准备合并到主分支。 $ git diff dev feature/我的功能 使用diff查看分支差异,发现和大佬提交的代码同时修改了几个文件。 解决冲突(合并、变基) <<<<<<< =======, >>>>>>> merge 当前分支在主分支,如master $ git merge 目标分支 –只保留单条分支记录 –no-ff –关闭fast-forward方式,可以查看到分支状态。 –squash – 需要进行一次额外的commit来总结最终的合并。 如果有冲突文件,在这一步处理完 $ git add . – 添加改动 $ git commit -m "merge" – 本地提交 $ git push origin feature/我的功能:master – 推送到master rebase 当前分支在开发分支,如feature/我的功能 $ git rebase master –rebase操作 如果有冲突文件,在这一步处理完 $ git add . –添加改动 $ git rebase –continue –继续rebase –abort –放弃合并,回到操作前的样子。 处理完所有冲突后,提示 Successfully rebased and updated refs/heads/feature/我的功能 $ git push origin feature/我的功能:master–推送到master 以上就是Git开发中的常用指令及其使用场景详解的详细内容,更多关于Git常用指令的资料请关注风君子博客其它相关文章! 您可能感兴趣的文章: Git命令如何添加到远程仓库 Git分支管理的核心命令科普指南 git merge 命令行操作实现 Git如何查看历史提交及其参数设定的常用命令详解 Git中查看文件的变更历史的常用命令详解 Python操作Git命令的详细指南 通过git命令查看项目连接的仓库地址的几种方法 git stash命令基本用法详解
目录
- 一、Git安装
- 二、配置Git工具
- 2.1 用户信息配置
- 2.2 查看配置
- 三、初始化仓库
- 3.1 创建仓库
- 四、常用命令
- 4.1 git clone拉取远端仓库
- 4.2 git分支操作
- 4.3 撤回操作
- 4.3 拉取代码操作
- 4.4 贮存操作
- 五、使用场景
- 5.1 克隆仓库
- 5.2 检出分支
- 5.3 提交代码
- 5.4 协作问题
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
官网下载地址:https://git-scm.com/downloads
对所有本地仓库的用户信息进行配置
1、对你的commit操作设置关联的用户名
git config --global user.name "[name]"
修改用户名
git config --global --replace-all user.name "[name]"
2、对你的commit操作设置关联的邮箱地址
git config --global user.email ""
修改邮箱地址
git config --global --replace-all uesr.email ""
3、启用有帮助的彩色命令行输出
git config --global color.ui auto
查看用户名:
git config user.name
查看密码:
git config user.password
查看邮箱:
git config user.email
查看配置信息:
git config --list
1、创建文件夹
mkdir my-project
2、进入文件夹
cd my-project
3、git初始化
git init
1、2、3 步是基于没有仓库时的操作,如果仓库存在1、2、3步可替换为git clone 远程仓库地址
进入文件夹
cd my-project
4、创建readme文件
touch README.md
5、添加readme文件到暂存状态
git add README.md
添加全部
git add .
6、把暂存状态的文件提交到本地备注为"first commit"
git commit -m "first commit"
7、远端仓库建立连接 名称origin对应远端仓库地址
git remote add origin https://gitee.com/wudixiaofei/my-project.git
8、推送代码至代码仓库 首次提交添加 -u
git push -u origin "master"
提交代码到对应分支
git push origin branch_name
如果有多个仓库需要推送,如gitee、github
远程地址A:'gitee/my-project.git' //设为'originA' 远程地址B:'github/my-project.git' //设为'originB' $ git remote add originA giteeurl $ git remote add originB githuburl 查看本地对应的远程仓库 $ git remote -v 操作追加远程推送B $ git push originA master:master $ git push originB master:master 删除与远端建立的连接 $ git remote remove "连接名字"
拉取远端仓库
git clone 远程仓库地址
代码拉取下来后,就需要有分支的概念
查看分支
星号(*)表示当前所在分支
查看远端分支 git branch -r 查看本地分支 git branch 查看所有分支 git branch -a
分支操作
创建新分支 下级用/ git branch dev git branch dev/featrue 修改本地分支名称 git branch -m oldName newName 检出分支、切换分支到dev git checkout dev 本地分支推送至远程分支 git push origin 本地分支名:远程分支名 > git push origin develop:develop 删除本地分支 git branch -D branch_name 删除远程分支 git push origin --delete branch_name > git push origin --delete develop
撤回删错的分支
1、找到删除branch的 hash 值 git reflog 2、创建对应branch git checkout -b new_branch_name hash
撤回提交
HEAD:它是一个指向你正在工作中的本地分支的指针,可以将 HEAD 想象为当前分支的别名。
HEAD^ 的意思是上一个版本,也可以写成HEAD~1如果你进行了2次commit,想都撤回,可以使用HEAD~2或者HEAD^^
reset 用于本地的commit操作撤回

1、代码恢复到上一次提交
git reset --mixed HEAD^
参数:
--mixed 默认参数
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作。
--soft
意思是:不删除工作空间改动代码,撤销commit,不撤销git add 。
--hard
意思是:删除工作空间改动代码,撤销commit,撤销git add . 操作。
2、如果只是修改注释
git commit --amend
会进入默认vim编辑器,修改注释完毕后保存就好了
revert 用于远程push操作的撤回
因为是远程,revert是会有新纪录C2’此时C2’ 的状态与 C1 是相同的。

git revert HEAD^
拉取对应分支代码
git pull origin branch_name
用于暂时保存没有提交的工作。运行该命令后,所有没有commit的代码,都会暂时从工作区移除,回到上次commit 时的状态。
1、没有被 add 过的文件不会被贮藏
2、git stash -u 可以把没有被add的文件也被贮藏
(–include-untracked)
SourceTree里的贮藏
1、添加贮藏
git stash save "贮藏备注"
2、查看贮藏列表
git stash list
3、取出指定内容
git stash apply stash@{0}
小白入职第一天:
1、安配配置git
2、拿到分配的账号登录公司代码仓库如gitlab、gitee、coding
3、账号的安全设置处绑定公钥
4、$ git clone 对应仓库地址
5、大佬安排看看代码,熟悉一下
场景1:小白进了一家私企没几天就来了一个工期3天的新需求,准备要大展身手。
于是,小白checkout出了公司的dev分支,开始大干一番$ git checkout dev
2天过去了,产品经理问,小白啊,怎么没有看见你的近两天的代码提交呀?还没开始吗?
小白:原来没写好也要提交代码给上级看,那我马上提交。答到:『噢噢,写的差不多了,马上提交』
$ git add .
$ git commit -m "新功能"
$ git push origin 本地分支名:远程分支名
大佬:我刚补的bug合并代码发版了,咦,怎么起不来服务了,一看代码提交,小白你提交的代码有问题,影响到主业务了。
小白:啊(慌了)!
大佬:如果你需要开发新功能,要把当天的代码提交的话,你就在feature新建一个功能就行,测试好我再合并发版。大佬耐心讲到我司规范:
–master 是主分支,一般是保护分支,管理员才能操作
–dev 是开发分支,开发先拉这个分支
–feature 是功能模块,如:
- —-feature/login (登录功能)
- —-feature/用户导入 (导入功能)
新增的功能加就行: 『feature/功能名称』
–hotfix 修补bug模块,如:
- —-hotfix/login (修补登录功能)
- —-hotfix/导入 (修补导入功能)
–refactor 重构模块
小白赶忙撤回提交:
$ git log 查看提交日志
找到自己提交的hash,例如:(2c479a5)
$ git revert ${commit hash} ...${commit hash}
revert后那次提交的代码就会被撤回,日志的hash显示为(c18fad1ba),但是我辛辛苦苦写的代码咋就不见了。
于是,创建并切换分支feature/我的功能
$ git checkout -b feature/我的功能
该分支是从当前分支上检出的,所以所有文件内容都和当前分支一模一样。再revert一遍即可
$ git revert c18fad1ba
可以看见,代码都回来了。
场景2 :小白开启了新分支完成功能后准备合并到主分支。
$ git diff dev feature/我的功能
使用diff查看分支差异,发现和大佬提交的代码同时修改了几个文件。
解决冲突(合并、变基)
<<<<<<< =======, >>>>>>>
merge
当前分支在主分支,如master
$ git merge 目标分支–只保留单条分支记录--no-ff–关闭fast-forward方式,可以查看到分支状态。--squash– 需要进行一次额外的commit来总结最终的合并。
如果有冲突文件,在这一步处理完
$ git add .– 添加改动$ git commit -m "merge"– 本地提交$ git push origin feature/我的功能:master– 推送到master
rebase
当前分支在开发分支,如feature/我的功能
$ git rebase master –rebase操作
如果有冲突文件,在这一步处理完
$ git add .–添加改动$ git rebase --continue–继续rebase--abort–放弃合并,回到操作前的样子。
处理完所有冲突后,提示
Successfully rebased and updated refs/heads/feature/我的功能
$ git push origin feature/我的功能:master–推送到master
以上就是Git开发中的常用指令及其使用场景详解的详细内容,更多关于Git常用指令的资料请关注风君子博客其它相关文章!
您可能感兴趣的文章:
- Git命令如何添加到远程仓库
- Git分支管理的核心命令科普指南
- git merge 命令行操作实现
- Git如何查看历史提交及其参数设定的常用命令详解
- Git中查看文件的变更历史的常用命令详解
- Python操作Git命令的详细指南
- 通过git命令查看项目连接的仓库地址的几种方法
- git stash命令基本用法详解