Git 常用命令及理解 .gitignore配置规则

目录

 

基本概念:

初始化仓库:

提交代码:

查看创库变化:

版本回退和前进:

丢掉修改:

文件删除:

远程仓库:

创建合并分支:

解决冲突:

Bug分支(工作现场):

多人协作:

多人协作处理冲突思路:

标签管理:

.gitignore配置规则


基本概念:

add之前是工作区,add之后是暂存区,commit之后是本地仓库

pull拉取远程仓库,push 推送到远程仓库

初始化仓库:

$git init    初始化一个目录,并创建一个.git目录

提交代码:

$git add <filename>,把修改文件添加到暂存区

$git commit   -m '提交日志信息'   把暂存区的内容提交到本地仓库

$git commit -a -m '信息'  上面两步一起执行, 只对已在分支上的文件有效

查看创库变化:

$git status  查看仓库状态

$git diff <filename> 查看未提交修改,

$git diff HEAD --<filename> 查看工作区与版本库的所有修改

$git log 查看提交日志  $ git log --pretty=oneline 单行显示  

版本回退和前进:

$git reset --hard <版本号>  ,如果是HEAD^ 回退一步,也可以回退多步HEAD~100

$git reflog 查看历史操作,可以得到被回退得版本号  是git log办不到得

丢掉修改:

$git checkout -- <filename> 可一丢掉工作区得修改 。撤销该文件得最后一次工作区操作

如果要丢带暂存区 必须先 git reset HEAD <filrname> 回退add操作,再执行checkout操作

如果已经commit,那就只有进行版本回退了

文件删除:

方式一:手动删除然后 git add 就行了 

方式二:直接$git rm <filrname> 就行

两种方式都需要commit操作,才能提交到本地仓库

远程仓库:

$ssh-keygen -t rsa -C "email" 创建SHH Key 密钥, 在用户目录会生成.shh目录,需要使用是id_rsa.pub文件的公钥

$git clone <仓库地址> 克隆远程仓库到当前目录

$git remote add origin <仓库地址> 本地仓库与远程仓库关联 

$git push -u origin master 推送本地仓库到远程,第一次要使用 -u

地址使用区别,git协议比https协议快

创建合并分支:

$git pull origin dev 拉去远程dev分支并切换过去

$git checkout -b branch-name origin/branch-name

$git branch 参看分支 当前分支会带*

$git branch dev 创建dev分支

$git push origin dev 第一次提交本地创建的分支

$git checkout -b dev 创建dev分支并切换到dev

$git checkout master 切换到master分支

$git switch -c dev 创建dev分支并切换到dev  switch 2.23版之后才有 使用git --version 查看版本

$git switch master 切换到master分支

$git merge dev 把dev分支合并到当前分支

$git branch -d dev 删除本地dev分支

$git push origin --delete test 删除远程test分支

$git rebase 把本地未铺设的分叉提交历史整理成直线

解决冲突:

解决思路,修改冲突文件保留自己需要的

$git add 提交修改

$git commit -m '提交信息'

Bug分支(工作现场):

$git stash 保存工作区并隐藏,为了不营销切换分支

$git stash list 查看工作现场

$git stash apply stash@{0} 恢复工作现场

$git stash drop 删除stash

$git stash pop 恢复工作现场并 删除stash

多人协作:

$git remote -v 查看远程库信息 网址

$git push origin <name> 推送指定分支到远程

多人协作处理冲突思路:

1.git pull 拉下代码 正常处理冲突

2.任何再push  (如果命令失败根据提示执行命令)

标签管理:

$git tag <name> [commitid] 创建新标签  标签是打在commit节点上 和分支无关; 用-a指定标签名,-m指定说明文字

$git tag -a v0.1 -m "version 0.1 released" 1094adb

$git tag 查看tag

$git show <tagname> 查看tag描述

$git tag -d <name> 删除tag

$git push origin <tagname>  推送tag到远程

$git push origin --tags 推送全部

$git push origin :refs/tags/tagname 删除远程tag

.gitignore配置规则

在仓库根目录下新建该文件

配置语法(pattern规则)

  • 以 / 开头表示根目录,防止递归
  • 以 / 结尾表示指定目录
  • 以 ! 开头表示不过滤(跟踪)此项配置匹配到的文件或目录
  • 以 # 开头表示注释,如需转义在前面加斜杠,/#

 

  • 配置规则可以使用标准的glob模式匹配(glob模式是指shell所使用的简化了的正则表达式)
  • * 通配符,多字符通配
  • **表示匹配任意中间目录如,a/**/z 表示可以匹配a/z、a/s/z或 a/a/s/z 等
  • ? 通配符,单字符通配
  • [] 可以匹配任何一个在方括号中的字符, 如*.[ac] 表示匹配任何以 .a 或者 .c 结尾的文件,如果[]中有短划线 - 分割两个字符,则表示所有两个字符范围内的都可以匹配如 [0-9]
     

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值