Git实用命令集合

本文详细介绍了Git的基本操作,包括克隆远程仓库、拉取更新、提交代码、撤销本地修改、分支管理、贮藏功能、回滚和重置以及标签的创建和查看。
一、基础

  git clone  克隆远程分支

  git clone http://192.168.0.45/spade2/spade.git  拉取远程分支在spade目录

  git clone http://192.168.0.45/spade2/spade.git spadeV2  拉取远程分支在spadeV2目录

  git pull  从远程仓库下载更新内容

  git add .  添加所有文件到暂存区

  git commit -m "feat: bug修改"  提交暂存区中的修改到本地仓库

  git commit -am "feat: bug修改"  提交代码到本地仓库
约等同于
 git add  和  git commit  命令组合添加到暂存区并提交到本地仓库。但该命令不会提交未进入版本管理的的文件。 未进入版本管理的新文件必须通过  git add  命令添加在暂存区才能提交。

  git push  约等于推送当前本地分支到远程分支

以上大概能处理到一个简单的拉取、修改、提交本地仓库、推送远程的流程。

 

二、撤销本地代码修改

1、还未将变更加入到暂存区,即未执行  git add  命令前,可以使用  git checkout  命令来撤销修改,命令如下

  git checkout -- <file> 

比如:

  git checkout -- *.txt 

  git checkout -- a.txt 

也可使用

  git checkout .  撤销所有文件修改

2、已将变更加入到暂存区,即已经执行了  git add  命令,可以使用  git reset HEAD  命令先从暂存区中移除文件,命令如下:
 git reset HEAD <file> 

比如

  git reset HEAD rainbow.txt start.txt  从暂存区中移除 rainbow.txt start.txt等文件

  git reset HEAD *  从暂存区中移除所有文件

  git reset HEAD *.txt  从暂存区中移除所有txt格式文件

后续就可以使用  git checkout  命令撤销修改。

 

三、分支命令
1、查看分支

  git branch  查看本地分支列表

  git branch -r  查看远程分支列表

  git branch -a  查看本地分支和远程分支

输出 :wq  退出查看模式

2、创建新分支

  git checkout -b newB  创建newB分支并切换到该分支

相当于

  git branch newB  创建newB分支

  git checkout newB  切换到newB分支

3、推送新分支到远程

第一步  git push origin newB  推送本地分支到远程

第二步  git branch -u origin newB  建立本地分支和远程分支关联,也就是跟踪分支

或者

  git push -u origin newB  推送本地分支到远程并跟踪分支

4、拉取本地不存在的远程分支

比如远程仓库存在一个分支feature/bugfix1,本地仓库不存在该分支,但需要拉取该分支到本地仓库修改,则可执行
 git checkout -b 本地分支名x origin/远程分支名x 

5、切换分支

  git checkout rng  切换到本地rng分支

如果要切换到某个git提交节点可执行

  git checkout commitId  commitId为git提交节点ID

6、合并分支

  git merge branchName  把branchName分支合并到当前分支,比如当前分支在rng分支,则代表把branchName分支合并到rng分支

如果在合并过程中碰到冲突,想取消合并,则可执行

  git merge --abort 

如果合并成功,但想撤销合并,则可先切到主分支,然后执行

  git revert -m 1 commitId 

 

四、贮藏

贮藏是一个非常实用的操作,比如我们在分支A修改了很多代码文件,然后来一个紧急任务需要去分支B修改,如果没有用贮藏,那么切换到分支B的前提,是在分支A把之前的修改内容提交或者丢弃,但这两种情况可能都不是我们想要的。 我们想要的是保留A分支的修改同时也不用提交到A分支。这时候我们就可以把A分支的修改内容贮藏起来,既可以保留修改也不用提交修改到分支中。
比如现在在A分支执行

  git stash  则该命令会把所有的在A分支的修改内容添加到贮藏,同时A分支的修改也被撤销,这时候就可以安全的切换到
B分支。

在B分支处理完工作后,想继续回到A分支处理之前的修改,则可以切换到A分支执行

  git stash apply  把贮藏区的修改应用到A分支

这时候贮藏可以丢弃

  git stash drop 

也行执行

  git stash pop  直接应用贮藏并立刻从贮藏栈上丢弃它,相当执行了  git stash apply  和  git stash drop 

假如很多分支都贮藏过修改,那么贮藏区中就不止有一份贮藏,执行

  git stash list  则可查看有哪些贮藏

$ git stash list
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051 Revert "added file_size"
stash@{2}: WIP on master: 21d80a5 added number to log

贮藏是以栈的形式保存的

  git stash apply  默认使用最近的贮藏信息,相当于  git stash apply stash@{0} 

  git stash drop  同理相当于  git stash drop stash@{0} 

也可以使用其他贮藏,如  git stash apply stash@{2} 

 

五、回滚、重置、撤销等
1、撤销某次提交

  git revert commitId 

2、重置分支到某个提交节点

  git reset --hard commitId  强制回滚到此次提交

  git push --force  或者  git push -f  强制push

强制合并  git reset --hard commitId 
混合合并  git reset --mixed commitId 
软合并  git reset --soft commitId 

以上三种合并方式的区别可参考SourceTree的软合并、混合合并、强合并区别_souttree-优快云博客s

  git reset  默认模式是混合合并

  git reset HEAD *  回退到当前版本并把暂存区的中文件退回到工作区中,后续可用  git checkout  命令撤销修改

  git reset HEAD~1  回退到前一个版本

  git reset HEAD~n  回退到前n个版本

  git reset commitId  回退到指定版本

注:HEAD  代表当前当前版本指针,同理于当前版本的commitId

 

六、标签(tag)

  git tag -a v2 -m "tag msg"  创建一个名称为v2的tag,并备注tag信息
简化命令
 git tag v2 

  git tag -a v2 commitId  基于某个提交点创建tag

  git push origin v2  推送tag到远程服务器

  git push origin --tags  推送本地所有tag到远程服务器

  git checkout -b [branchname] [tagname]  基于tag创建分支

 

七、git相关信息查看
1、查看当前仓库

  git remote show origin 

  git remote -v 

2、查看文件状态(哪些文件修改或者暂存了)

  git status 

  git status -s  简单格式输出文件状态

  git diff  查看未暂存的文件修改

  git diff --staged  查看已暂存的文件修改

3、查看日志

  git log -p -2  产看最近两次提交差异

  git log --pretty=oneline  查看提交记录

  git reflog  查看本地引用日志

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值