git常用命令

配置
#查看配置
git config -l

#全局配置用户名和邮箱
git config --global user.name "your name"
git config --global user.email "your email"

#换行符问题:所有人的编辑器换行符设置成unix格式,然后把autocrlf设置成false
git config --global core.autocrlf false
#phpstorm换行符设置为unix格式
File->Settings...->Editor->Code Style->Line separator设置

#拒绝提交包含混合换行符的文件
git config --global core.safecrlf true

#严格区分大小写
git config core.ignorecase false

初始化仓库、第一次提交
git init
git remote add origin 你的远程仓库地址
git pull origin master
git add .
git commit -m "第一次提交"
git push origin master

从远程仓库克隆项目到本地
git clone 仓库地址 目标目录

拉取
git pull origin master

推送
git push origin master

#强推(谨慎操作)
git push origin master -f

远程仓库管理
#查看远程仓库
git remote -v

#删除
git remote remove origin

#添加
git remote add origin 远程仓库地址

只更新某个文件或文件夹
git fetch
git checkout -m 版本号  文件/文件夹

如:git fetch 的版本号为 cd1768d...2408ca5
git checkout -m 2408ca5 1.php 2.php
git checkout -m 2408ca5 dir1

分支管理
#查看本地分支
git branch

#创建并切换到test分支
git checkout -b test

#切换到已有分支
git checkout test

#从远程仓库拉取一条本地不存在的分支,创建一个新的本地分支并与指定的远程分支关联起来
git fetch
git checkout -b 本地分支名 origin/远程分支名

#在当前分支上合并另一个分支的代码过来
git merge 另一个分支名

#合并成功后提交到当前分支
git push origin 当前分支名

#删除分支
git branch -d test

分支策略

master分支 :稳定分支

dev分支 :开发分支,测试分支。

根据功能模块开分支,每个功能可以根据每个人开发的内容开分支,一个功能点开发完后,合并分支并删除无用分支。

bug修复:

确定要从哪个分支上修复,就从哪个分支上创建临时分支:

#切换到要修复的分支
git checkout master

#从要修复的分支创建临时分支
git checkout -b issue001

修复完毕后,提交代码,回到dev上继续干活

#提交修复的代码
git commit -a -m "***问题修复"

#切换回master合并代码
git checkout master
git merge issue001

#合并完成后删除临时分支
git branch -d issue001

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

#查看远程分支
git branch -r


删除远程不存在的分支

使用命令 git remote show origin,可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息。

此时我们可以看到那些远程仓库已经不存在的分支,根据提示,使用 git remote prune origin 命令:

这样就删除了那些远程仓库不存在的分支。

从版本库中移除某个目录
git rm --cached -r .idea  #.idear是目录名,-r表示递归

git stash

git stash:备份当前工作区的内容,从最近一次的提交中读取相关内容,让工作区保证和上次提交的内容一致,同时将当前工作区内容保存到git栈中。

git stash pop:从git栈中读取最近一次保存的内容,恢复工作区的相关内容,由于可能存在多个stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。

git stash list:显示所有git栈内的备份,可以利用这个列表来决定从哪个地方恢复。

git stash apply stash@{1}:将stash@{1}版本取出来并恢复。git stash pop会取最近一个并恢复,git stash apply stash版本号可以从指定地方恢复。

git stash clear:清空git栈

查看提交历史
#列出所有更新,最近的在最上面
git log 

# -p展开每次提交的内容差异, -2显示最近2个提交
git log -p -2

# --stat 显示简要的增改行数统计
git log --stat



.gitignore忽略规则的匹配语法(linux下以.开头的文件都是隐藏文件)
  • 一行指定一个忽略规则
  • 空格不匹配任意文件,可作为分隔符;#开头的为注释;可使用反斜杠转义。
  • 可使用标准的glob格式匹配,即shell所使用的简化了的正则表达式
  • / 开头表示目录;以 / 结尾匹配文件夹及该文件夹下的内容,不匹配该文件。以 / 开头的模式匹配项目根目录,没有 / 的为.gitignore文件所在目录。
  • * 匹配多个任意字符。 ** 匹配任意中间目录,如 a/**/z 可以匹配a/b/z 、 a/b/c/z
  • ? 匹配一个任意字符。
  • [] 匹配任何一个在方括号中的字符。如: [abc] 要么匹配一个a,要么匹配一个b,要么匹配一个c。 []- 分隔的两个字符,匹配这两个字符之间的任意字符,如: [0-9] 匹配所有0到9的数字, [a-z] 匹配所有小写子母。
  • ! 取反。
  • 规则从上到下生效,如果前面有大范围的规则,则后面的规则不生效。
密钥管理
#生成新的密钥
ssh-keygen -t rsa -C "your account"

#查看本机密钥
cd ~/.ssh
ls

配置多个密钥(配置不同服务器读取路径)
在~/.ssh 目录下执行 vim config:
Host git.oschina.net
HostName git.oschina.net
User yourname
IdentityFile C:/Users/admin/.ssh/oschina_id_rsa

#站点域名 
Host gitee.com	
#站点域名
HostName gitee.com     
#当前电脑上的git用户
User yourname           
#设置密钥文件地址
IdentityFile C:/Users/admin/.ssh/oschina_id_rsa  

注意windows是config,linux是ssh_config
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值