GIT常用命令

GIT常用命令

分享一些git的常用命令

版本概念

每次提交都是一个新的版本,所以每次提交代码,需要下载最新版本,然后在最新版本上往前提交

git初始设置

#设置用户信息 --用户名和邮箱
git config --global user.name "username"	
git config --global user.email "email"

#设置文本编辑器,默认为vim
git config --global core.editor emacs

#查看Git配置信息
git config --list

#查看某项配置
git config <key>
git config user.name

 #创建一个空的初始化仓库或初始化现有仓库
 git init

下载文件

# 从远端下载工程到本地
git clone url

分支命令

老版本git
#查看本地分支
git branch

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

#创建分支
git branch 分支名

#切换分支
git checkout 分支名

#切换和创建分支
git checkout -b 分支名

#删除本地分支
git branch -d 分支名(remote/origin/分支名)
git branch -D 分支名 #强制删除

#删除远程分支
git push origin --delete 分支名(remote/origin/分支名)

#分支迁移
git stash (隐藏未提交(commit)的内容)
git checkout dev
git stash apply (放开未提交的内容)
版本控制工具里面拉取下来 

新版本git
# 创建并切换到Dev分支
git switch -c dev
本地分支和远程分支
# 更新远程分支
git remote update origin -p

#查看本地分支和远程分支的关联关系
git branch -vv

# 关联本地分支与远程分支
git branch --set-upstream-to=origin/dev

查看代码变更

# 此命令比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异
# 未添加到缓存区的变更
git diff 

# 查看文件状态(未跟踪,已修改的等)
# -s 输入格式更紧凑
git status -s 
git status -uno

代码提交

# 提交到暂存区
git add <filename> 提交单个文件到暂存区
git add .  提交所有修改的文件到暂存区 
git add -A 提交当前目录的所有文件
git add -p 选择要添加的更改

# 提交到本地仓库
# message 为提交信息说明
git commit -m "message" 把暂存区的文件提交到本地仓库
git commit -a -m "message" 把工作区文件提交到本地仓库

# 本地仓库提交到远端仓库
git push origin dev 提交到远端dev仓库

git日志

# 查看commit日志,可以获取commitID
git log

# 查看提交日志 ,设置打印格式
git log --pretty=oneline

#查看历史命令
git reflog

#显示日志内容
git show commitID
#显示当前版本提交的文件
git show commitID --stat
 

版本回退

##### 根据对应的commitID ,回退到上一个版本,如要回退多个版本,应多次执行下面的命令
git revert commitID

####返回到最后一次提交
git reset --HEAD


pull合并失败

# 处理方案一
#保留本地的更改,终止合并,重新合并,重新拉取
git merge --abort
git reset --merge
git pull

#处理方案二
#舍弃本地代码(注意备份),远端版本覆盖本地版本
git fetch --all
git reset --hard origin/master
git fetch

####git pull 报错:please commit your changes or stash them before you can merge 的解决方案
git stash #隐藏本地修改
git pull  
git stash pop #放开本地修改,解决冲突

更新代码

#从远程获取最新版本到本地,不会merge(合并)
git fetch 远端分支名
git fetch origin master #从远程的origin的master主分支上获取最新版本
git log -p master..origin/master #比较本地分支和origin/master分支的区别
git merge origin/master #合并

#从远程获取最新版本并merge(合并)到本地
git pull
#方式二(推荐使用)
git fetch origin dev-webapp:temp #拉取到临时分支
git merge temp #有冲突信息,解决冲突
git add .
git commit -m "提交信息"
git push origin dev-webapp

git冲突解决

## 知识点:解决代码冲突的两种方式
##rebase,merge。重要区别是合并之后commit 的个数不一样;rabase保留原分支上的每一个commit,merge只会生成一个commit

#方法一:使用merge解决冲突
git fetch #下载所有分支代码
git checkout origin/master #直接切到远端的master分支
git merge master #将master分支的修改合入
提示冲突,手动解决
git add -A
git commit 
git push

#方法二:使用rebase解决冲突
git fetch 
git rebase origin/master #以
git add -A
git rebabe --continue
git push origin master
git push -f origin master 强制提交

MAVEN打包

#maven工程打war包
mvn -clean package -DskipTests
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值