git常用命令笔记


查看git版本

git --version


查看本地分支、查看远程分支

git branch  # 查看本地分支及当前所在分支(前面带有“*” )

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

git branch -r  #只查看远程分支

查看分支时,如果发现新创建的远程分支看不到,可以执行“git pull”或“git fetch”后,再执行该命令就可以查看到。

如果分支太多,还可以用此命令进行分支模糊查找: git branch | grep ‘branchName’



本地分支之间相互切换和查看

这种是使用最多和最常见的操作。

git checkout 本地分支名


在源分支的基础上创建新分支


比如,新需求来时,想在master分支的基础上创建一个新分支“dev”(该分支在本地、远程仓库都没有)。

1.先切换到源分支,然后创建本地分支:

git checkout master  #切换到想要拉取的源分支
git pull             #拉取最新分支
git checkout -b dev  #创建一个新的本地分支dev,并自动切到新分支dev上

2.推送本地分支到远程仓库

git push --set-upstream origin dev


本地分支关联远程分支

使用git在本地新建一个分支后,需要做远程分支关联。

git branch --set-upstream-to=origin/remote_branch  your_branch

目的是在执行git pull、git push操作时就不需要指定对应的远程分支,你只要没有显示指定,git pull的时候,就会提示你。



从远程仓库里拉取一个本地不存在的分支

先clone下代码:

git clone <remote-repo-url>

执行成功后,进入项目目录:

git checkout -b 本地分支名 origin/远程分支名

执行命令后,会创建一个新的本地分支,并自动切到新分支上。该本地分支与指定的远程分支关联起来。如果拉取不成功,需要先执行git fetch“”,再执行上面的命令。



github上拉取指定tag的代码

先clone下代码:

git clone <remote-repo-url>

执行成功后,进入项目目录,查看tag,并切换到tag

git tag        #查看tag
git checkout -b branch_name tag_name

如果提示当前处于“detached HEAD” 状态,因为tag相当于一个快照,不能修改它的代码。
如果提示分支已存在,那现删除本地分支,再执行切换命令。



github上拉取指定分支的代码

拉取指定分支的代码:

git clone --branch <branchname> <remote-repo-url>
#或者
git clone -b <branchname> <remote-repo-url>      #-b是--branch 的别名


分支合并

场景:开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支。

git checkout dev     #切换到dev分支上
git pull             #拉去最新代码,有可能其他人刚刚提交过新代码
git checkout master  #切换到目标分支
git pull             #拉去最新代码,有可能其他人在你之前合并过一次
git merge dev        #在目标分支merge,合并dev分支到当前分支上
git push -u origin master #通常git push就可以了


只合并部分提交

IDEA里叫摘樱桃,樱桃提交什么意思?
在同一个分支,A提交了一段代码,B也提交了一段代码,如果合并的到master的时候只需要A的代码,就用上了这个功能,只选择某一个提交合并,而不是全部合并。

git checkout dev     #切换到dev分支上
git pull             #拉去最新代码,有可能其他人刚刚提交过新代码
git checkout master  #切换到目标分支
git pull             #拉去最新代码,有可能其他人在你之前合并过一次
#git merge dev        #在目标分支merge,合并dev分支到当前分支上 ~~
git push -u origin master #通常git push就可以了

git merge dev #在目标分支merge,合并dev分支到当前分支上

接下来:
1、找到git的Show History(好几个地方可以进入:上面工具栏可以,下面信息栏可以,左边项目菜单可以);
2、Branch:这里选择你的dev分支也行,All也行(反正就是你刚才提交的分支);
3、选择(可以多选)上你提交过的记录,然后右键cherry-pick;
4、git push。



删除本地分支、删除远程分支

删除本地分支,删除前后可以通过“git branch”查看

git branch -D 本地分支名

删除远程分支,删除前后可以通过“git branch -r”查看

git push origin -d 简单的远程分支名  #或者git push origin --delete [branchname]

比如,通过“git branch -r”查看的远程分支名叫“origin/dev”,删除命令为“git push origin -d dev”。

注意: 在删除远程分支时,同名的本地分支并不会被删除,所以还需要单独删除本地同名分支。



清理本地无效分支(远程已删除本地没删除的分支)

git fetch -p


git config --global设置用户名和邮件

git config --global user.name "wangxxx"
git config --global user.email "wangxxx@163.com"

如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

设置后查看

git config --list
# 或者,查看所有的配置以及它们所在的文件
git config --list --show-origin

发现多了两项

user.name=wangxxx
user.email=wangxxx@163.com



重置账号密码、存储账号密码

git鉴权失败,重置用户名、密码

git config --system --unset credential.helper
git config --global --unset credential.helper

接下来,每次执行git命令时都会提示输入账号密码。避免每次都要输入,可以执行store命令存储账号密码。

git config credential.helper store


修改最后一次commit的注释

git commit --amend


撤回未add的修改

回退修改的代码,git add或者git restore,“git restore .”会撤回所有的修改。

git restore <file>


更多命令可以参考Git官网

Git官方文档:https://git-scm.com/docs



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值