博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git 常用命令
阅读量:6231 次
发布时间:2019-06-22

本文共 3399 字,大约阅读时间需要 11 分钟。

git 配置

配置文件位置: ~/.gitconfig

配置用户

git config --global user.name "username"git config --global user.email "email@example.com"复制代码

生成 ssh-key

生成的秘钥和公钥在本机位置:~/.ssh (id_rsa:私钥;id_rsa.pub:公钥)

公钥可添加到 github 等类似托管平台,以便能够使用远程仓库

ssh-keygen -t rsa -C "email@example.com"复制代码

git别名(参考zsh)

macOSlinux 可安装 zshoh-my-zsh

以下为 .gitconfig 内容

使用:git glods git glola

[user]	name = ***	email = ***[alias]	glods = log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short	glola = log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --all复制代码

git 常用命令

clone

将远程仓库拉取到本地

git clone url复制代码

add

将修改的内容添加到暂存区

git add fileName    #单个文件git add .           #多个文件复制代码

commit

提交描述

git commit                 #进入编辑器编辑提交描述,比如默认的 vimgit commit -m "提交描述"    #在命令行添加提交描述git commit --amend         #修改上一个提交(commit)描述复制代码

checkout

撤销工作区的修改、分支管理

git checkout -- fileName                        #撤销工作区单个文件的修改git checkout -- .                               #撤销工作区所有文件的修改git checkout branchName                         #切换到分支 branchNamegit checkout -b branchName                      #创建分支 branchName 并切换到该分支git checkout -b branchName commit_id/tag        #以 commit_id/tag 为最后一次提交新建一个分支 branchName,并切换到该分支git checkout -b branchName origin/branchName    #将远程分支 origin/branchName 同步到即将创建的分支 branchName复制代码

pull

拉取远程分支到本地并与本地

git pull origin branchName             #拉取远程分支 branchName 到本地并合并:git pull = git fetch + git mergegit pull origin branchName --rebase    #(推荐该方式,使得提交树干净整洁,无多余无用的commit)拉取远程分支 branchName 到本地并进行变基操作:git pull = git fetch + git rebase复制代码

push

将本地提交同步到远程分支,同步之前最好执行 git pull origin branchName --rebase ,保持与远程分支内容一致后再同步

git push origin branchName                  #将本地分支推送到远程分支git push origin branchName --follow-tags    #把 commit_id 所引用的标签一起推送到远程仓库git push origin tagName                     #将标签 tagName 推送到远程仓库git push origin --tags                      #一次推送所有本地新增的标签git push origin --delete branchName         #删除远程分支复制代码

fetch

拉取远程分支更新到本地

git fetch origin branchName                 #将远程分支 branchName 更新的内容同步到本地的分支 `origin/branchName`git fetch origin branchName1:branchName2    #将远程分支 branchName1 的更新同步到本地分支 branchName2 ,若本地分支不存在,则自动创建复制代码

branch

分支管理

git branch branchName                      #创建分支 branchNamegit branch -d branchName                   #删除已经合并到本分支的其他分支git branch -D branchName                   #(强制删除)删除未合并到本分支的其他分支git branch branchName commit_id/tag        #以 commit_id/tag 为最后一次提交新建一个分支 branchNamegit branch branchName origin/branchName    #创建一个新分支 branchName 同步远程分支 origin/branchName 的信息复制代码

stash

将工作区修改的内容储藏起来,只会储藏 git add 之后的文件的修改,新添加的文件不会被 git 管理

git stash                    #储藏工作区修改git stash list               #显示储藏列表git stash pop/apply          #应用储藏列表最上面一个到工作区git stash apply stash@{2}    #应用指定储藏到工作区git stash clear              #清空储藏列表复制代码

merge

分支合并

git merge branchName    #将分支 branchName 上新的提交合并到当前分支复制代码

rebase

变基操作

git rebase branchName     #将分支 branchName 上新的提交变基到当前分支git rebase --continue     #解决变基冲突后继续变基git rebase --abort        #放弃本次变基,代码将恢复到变基之前git rebase --skip         #将引起冲突的commits丢弃掉(慎重)复制代码

tag

推送标签到远程仓库,可查看 push 那一节

git tag                      #显示tag列表git tag tagName              #给最近一次的 commit 添加标签 tagNamegit tag tagName commit_id    #给指定 commit_id 添加标签 tagNamegit tag -d tagName           #删除标签 tagName复制代码

转载于:https://juejin.im/post/5c39ba3f6fb9a049cd546c30

你可能感兴趣的文章
Uncaught TypeError: jQuery.i18n.browserLang is not a function
查看>>
JavaScript中的闭包详解
查看>>
【JSP】JSP Action动作标签
查看>>
iOS:CoreText的常用语法
查看>>
dropify,不错的图片上传预览插件
查看>>
为什么都不写博
查看>>
希腊字母表
查看>>
httpd配置文件httpd.conf规则说明和一些基本指令
查看>>
python中self cls init的理解
查看>>
java:类集操作总结
查看>>
Flake8学习
查看>>
SpringBoot项目eclipse运行正常maven install打包启动后报错ClassNotFoundException
查看>>
ASP.NET Core的身份认证框架IdentityServer4(9)-使用OpenID Connect添加用户认证
查看>>
[Python] String Formatting
查看>>
lapis 处理接收到的json 数据
查看>>
【spring boot logback】日志使用自定义的logback-spring.xml文件后,application.properties中关于日志的相关配置还会起作用么...
查看>>
Ad Hoc Distributed Queries的启用与关闭
查看>>
java工具类POI导出word
查看>>
openwrt使用list
查看>>
shell语言
查看>>