个人常用的git命令记录

个人常用的git命令记录

开发中会频繁发生git操作,在此记录一下自己常用的git命令。

克隆

在本地克隆代码仓库

git clone 地址

分支

首先在远端创建自己的分支,之后提交都先提交到该新建的远程分支中,假设我新建的远程分支为:caijichengxuyuan

之后在本地建立该远程分支对应的本地分支。

1、首先获取远端的更新

git fetch 

使用该命令,你可以看到远端有哪些更新,比如新建了哪些分支,哪些分支有更新等。(如果不进行fetch操作,你此时不会看到刚刚新建的caijichengxuyuan分支。进行merge操作时,获取的也不是真正的最新的代码)

2、切换分支

git checkout -b caijichengxuyuan origin/caijichengxuyuan

此时就可以在该分支上进行开发了

3、查看分支

git branch

如果不加参数,会看到本地所有的分支

git branch -a

可以看到本地和远程全部的分支

4、远程仓库信息

有些时候,远程分支已经删掉了,但是依然可以在idea里看到这些远程分支,此时,我们可以使用remote命令,查看本地分支与远程分支的关系。

git remote show origin

执行这行民工后,会列出本地分支对应哪些分支,远程仓库哪些分支已经不存在了,那么对于远程已经删除的分支,就可以执行prune命令来进行删除,此时,本地就看不到这些已经删除后的远程分支了。

git remote prune origin

stash

在本地分支有更新的代码时,若要切换分支,是会提示本地还有未commit的代码的,此时,可以把该分支上的修改存到堆栈区,然后再切换分支。

git stash
git stash list  查看有几条暂存数据
git stash pop 将堆栈区中的代码pop出来
git stash pop stash@{0}  将指定版本修改代码pop出来,

如果想要部分stash 的话,可以采用-p

git stash -p 

执行后,会将修改的文件一个一个列出来,你可以使用y/n来确定要不要进行stash.
但我发现,这种操作不能选择新建的文件,只会把修改的文件列出来。

合并

git merge <分支名>

一般来讲,我自己再合并的时候都是先把本地的修改执行stash操作,然后使用git fetch命令,获取最新的仓库状态,然后再merge代码,最后stash pop 出自己本地修改的代码。
如果产生冲突,再手动修改冲突。

提交和推送

git add . 将所有修改的文件加入暂存区
git commit -m "提交注释"
git push <远程主机名> <本地分支名>:<远程分支名>

回退

有时候,把一些不想上传的文件不小心上传到了远程仓库,此时,你可以在本地把他删除掉,然后再push到远程仓库,这是最简单的操作。但是这样,在git 版本树中会显示出这两次提交。
如果不想显示直接,可以执行以下操作进行回退。

git log   查看仓库日志,主要是为了获得想要回退的版本号

接下来就可以使用reset命令进行回退
reset有三种模式,–hard --soft --mixed
–soft 保留工作目录和暂存区
–mixed 保留工作目录 清空暂存区
–hard 清空工作目录和暂存区

git reset --soft <回退版本号>

此时,本地代码仓库已经完成回退,需要将回退push到远程。

git push -f origin caijichengxuyuan

如果不加-f,会提示远程的版本比本地版本新,加上-f可以强制push
完成后就可以看到远程仓库也已经完成了版本回退。

提交后修改注释

已经push到远程后,发现提交的备注不正确需要修改
如果本地有修改未commit的代码,则需要先stash

git rebase -i HEAD~1
git commit --amend (i为编辑模式,esc退出编辑模式,:wq保存修改并退出)
git rebase --continue
git push --force

以上就是目前我常用的git 命令,欢迎批评指正。

个人公众号:菜鸡程序员的进阶,欢迎关注。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值