Git的一些操作命令行

  1. 在文件夹下创建版本控制(生成 .git文件夹)
git init
  1. 修改全局用户配置
git config --global user.email "fdsafsadf@qq.com"
git config --global user.name "mushi"
  1. 修改单个版本库的文件配置
// cd到master目录下(即 .git所在文件夹)
git config user.email "fdsafsadf@qq.com"
git config user.name "mushi"
  1. 查看配置
vim git config
  1. 克隆别人的git项目
// 注意,不能在master文件夹下使用,否则会造成冲突
git clone https://github.com/houdunwang/laravel-module.git

git要上传一个文件必须先把文件放到缓存区里(add)然后才能放入仓库中(commit)

  1. 查看目前文件添加状态(是否被add)
git status
  1. 选中需要commit的文件
git add a.php

此时可能会出现
在这里插入图片描述
这是因为文件中换行符的差别导致的。这个提示的意思是说:会把windows格式(CRLF(也就是回车换行))转换成Unix格式(LF),这些是转换文件格式的警告,不影响使用。可以通过修改配置项来解决这个毛病

git config core.autocrlf false

一次将所有修改的文件add到缓存

// 此处有 点
git add .
  1. git commit -m "注释"把它提交到版本库
  2. 只想添加部分文件到缓存区
// 再Master下生成一个忽略上传文件
touch .gitignore

往忽略文件中写入不想上传的文件

// 忽略某个文件
a.php

// 忽略某个类型文件
*.txt
// 除了某个文件
!b.php

// 忽略文件夹
/vendor
// 忽略文件夹下的某个文件
/vendor/index.php
// 忽略文件夹下的某个类型文件
/vendor/*.php
  1. git rm a.php删除版本库中的文件,包含本地文件
  2. git rm --cached a.php删除版本库中的文件,不包含本地文件
  3. 文件改名
// git mv命令只是把本地文件名改了并放入到了缓存区,必须要commit操作
// git mv的操作为:复制文件,改名文件,删除原文件,add到缓存区
git mv a.php A.php
git commit -m 'rename'

PS:本地文件夹内直接进行改名后添加到缓存区,再commit也能达到同样效果

  1. 查看修改日志
// -p 详细修改内容 -1 看最近的一次
git log -p -1
// 只查看修改的文件名以及进行了什么修改(新建,更新)
git log --name-status
// 只查看修改的文件名
git log --name-only
  1. git commit --amend修改最新一次提交的日志

以下为分支相关操作
  1. 在第一次commit之后会生成一个master分支,通过git branch可以查看
    在这里插入图片描述
  2. 追加并切换到新分支(*为正在使用的分支)
git branch ask
git checkout ask

在这里插入图片描述
17. 合并分支git merge ask
18. 删除分支git branch -d ask
19. 当两个分支merge时候如果出现了冲突,则可以手动vim进入冲突文件进行修改。
在这里插入图片描述
修改完后别忘了commit!!!
其他分支之后再merge master可以获取最新文件
20. 查看分支是否已经merge

git branch --merged
git branch --no-merged

在这里插入图片描述
此时未merge的想删除要通过-D方式来删除
在这里插入图片描述
21. 分支工作保存到一半需要切换其他分支,可以将分支先保存到缓存区
在这里插入图片描述

// 把分支修改保存到暂存区
git stash
// 查看目前的暂存区
git stash list
// 应用先前的暂存,不写stash@{0}默认为第一个
git stash apply stash@{0}
// 删除暂存,stash@{0}为list中的名字
git stash drop stash@{0}
// 从git栈中获取到最近一次stash进去的内容,恢复工作区的内容。。获取之后,会删除栈中对应的stash。。
git stash pop
  1. 版本标签git tag v1.1或者查看标签git tag
  2. 子分支合并之前主分支进行了commit,如果此时进行merge,log 会出现分支信息。所以子分支应该在合并前进行git rebase,即将子分支的分支点移向最近一次主分支的commit的点,再进行merge操作。这种做法可以当出现代码冲突的时候,让子分支管理者自己处理
    在这里插入图片描述在这里插入图片描述

以下为git hub相关操作
  1. git clone克隆远程代码
  2. git push将代码推送到远程服务器
  3. gir branch -a显示远程服务器分支
  4. 在分支上直接push后,根据提示直接在远程服务器上创建并推送
  5. 克隆分支代码
git clone https://github.com/AkinoMush1/ComposerDemo.git
// 拉取远程ask分支到本地ask分支内
git pull origin ask:ask

在这里插入图片描述

  1. 先在本地进行分支合并后再推送到远程服务器(别忘了master代码要先pull最新版本,以及分支的rebase操作)

  2. 删除远程ask分支和本地ask分支

git push origin --delete ask
git branch -d ask
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值