git命令记录

git使用


本地配置

git config --global user.name “xxx” 全局配置git的用户名,会出现在所有的commit信息中

git config --global user.email “xxx” 全局配置git的邮箱,会出现在所有的commit信息中

git config --global alias.xxx checkout 配置checkout的别名


git基本操作

git init 初始化仓库

git status 查看当前git状态

git add 将文件添加到git的暂存区(git add .)

git commit 将暂存区内容提交到本地仓库(git commit -m “xxxx”)

git log 查询操作git的日志

git分支

git branch xxx 创建git分支,git初始化后默认生成一个主分支master

git branch 查看当前的分支情况

git checkout xxx 切换git分支

git checkout -b xxx 创建并切换git分支

git branch -r 查看远程分支情况

git push origin :xxx 删除远程分支

git checkout xxx origin/xxx 如果远程有个xxx分支,本地没有,把远程的xxx分支迁到本地

git merge xxx 合并分支,需要先切换到要合并的分支上,然后就合并xxx分支上的代码

git branch -d xxx 删除分支,比如分支新建错了,或分支已经合并到主分支上了

git branch -D xxx 强制删除分支,分支代码没有合并到主分支上,使用-d就会报错

git标签

git tag xxx 新建tag标签,tag标签的内容不会改变

git tag 查看历史tag记录

git checkout xxx 切换到指定tag标签

git操作远程仓库

git psuh origin master 推送本地仓库代码到远程仓库master分支

git pull origin master 拉取远程最新代码,一般在push之前先pull,这样不容易冲突

git clone xxx.git 克隆远程仓库代码到本地,这时本地项目已经是一个git仓库了,并和远程仓库做了关联

git remote add origin xxx.git 将本地已有的仓库和远程仓库进行关联,orgin 是项目的远程仓库名称,名称可以随便取,一般大家默认为这个名称

git remote -v 查看当前项目有哪些远程仓库

git比较文件差别

git diff 比较当前文件和暂存区的差别

git diff commit_id1 commit_id2 比较两次提交的之间的差异

git diff branch1 branch2 比较两个分支的之间的差异

git diff --staged 比较暂存区和版本库之间的差异

git隐藏当前没有commit的代码

git stash 把当前分支没有commit代码隐藏起来

git stash list 查询隐藏区的记录

git stash apply 还原隐藏区的内容

git stash drop 删除隐藏区的记录

git stash pop 还原并删除隐藏区的记录

git stash clear 清空隐藏区的所有记录

merge冲突

当git不知道怎么合并两处冲突的修改时,会中断自动合并,并对冲突文件进行标记。

解决方法:

1.手动把文件冲突修改好

2.git add 命令把修改的内容添加暂存区

3.git merge --contine 来继续自动合并流程

checkout

移动HEAD,让它指向某个commit或branch

git checkout --detach 让HEAD脱离当前branch,直接指向下面的commit

git checkout xxx.md 撤销操作,还原文件,针对的是没有加入到暂存区文件

rebase

把当前commit以及它之前的commits应用到指定的需要rebase的commit上

git中的每⼀个commit都是不会改变的,所以rebase之后的每个commit都是新产⽣的,⽽不是对原先的commit进⾏修改

rebase冲突

解决方法:

1.手动把文件冲突修改好

2.git add 命令把修改的内容添加暂存区

3.git rebase --contine 来继续流程

reset

把当前branch指向指定的commit

git reset commit_id 移动到指定commit,并保留working tree的内容

git reset --hard commit_id 移动到指定commit,并重置working tree

reset和checkout的区别

都是移动HEAD,checkout移动的时候是自己移动,不带着branch,而reset会带着branch一起移动

revert

git revert commit_id 撤销commit内容,原理是创建一个新的commit,内容是指定commit的相反内容

cherry-pick

git cherry-pick commit_id1 commit_id2 把某个分支上的两个提交合并到当前HEAD上

git修改已提交的commit注释
1.没有push到远程仓库

修改最后一次的注释

git commit --amend 输入i进入输入模式,修改好注释后,按esc退出编辑模式,输入:wq保存并退出

修改之前的注释

git rebase -i HEAD~2 最后的数字2表示倒数第几次的注释,输入i进入输入模式,把pick换成edit,esc->:wq

git commit --amend 修改注释,保存并退出

git rebase --continue

2.已经push到远程仓库的

首先把最新的代码pull下来,修改方法如1,修改完成后,强制push到远程仓库

git push --force origin xxx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值