Git常用操作

2020-11-22  本文已影响0人  小马哥是没有感情的

Git常用操作

基础:

# 克隆项目到本地,文件夹为项目名
git clone https://xx.git
# 项目git初始化
git init 
# 项目添加到暂存区 ./代表当前目录所有文件,可以替换成单个文件名称
git add ./
# 将暂存区内容提交到本地库, -m 后为提交内容说明
git commit -m "mess content"
# 将本地库内容推送到远程仓库的master分支,-f 代表强制推送(不进行diff差异比较操作)
git push -f https://xx.git master

进阶:

1.1 本地库初始化

git init 

本操作会生成 .git 目录,存放的是本地库相关文件。

1.2 设置签名

仅仅加了一个 --global

优先级别:项目级别 > 系统级别

信息保存位置:~/.gitconfig 文件

1.3基本操作

1.3.1 状态查看

git status   #查看工作区、暂存区状态

1.3.2 添加

git add fileName  #指定文件
git add . #所有
说明:将工作区的文件添加到暂存区

1.3.3 提交

git commit -m 'commit message' fileName
说明:将暂存区内容提交到本地库

1.3.4 查看历史记录

git log 
git reflog  #常用
git log --greph #图形显示,更直观
git log --pretty=oneline #漂亮一行显示
git log --oneline #简洁显示
说明:HEAD@{移动到当前版本需要多少步}

1.3.5 前进后退

1.3.6 reset的三个参数比较

soft: 
  - 仅本地库移动HEAD 指针
mixed:
  - 在本地库移动HEAD指针
  - 重置暂存区
hard:
  - 在本地库移动HEAD指针
  - 重置暂存区
  - 重置工作区

1.3.7 删除文件并找回

git reset --hard 指针位置

1.3.8 文件差异比较

git diff 文件名
git diff 哈希值 文件名  #和历史中的一个版本比较
git diff  #不带文件名,则比较多个文件

2.2 分支管理

hot_fix` `master` `feature_x` `feature_y

2.2.1 什么是分支管理

2.2.2 分支的好处

2.2.3 分支操作

git branch 分支名
git branch
git branch -v 
git checkout 分支名
git checkout -b 分支名   #创建分支并直接切换到该分支
git merge xxx
注意:合并分支的时候要明确谁谁合并
    我在a分支里面修改了。要合并到master,就先切换到master,然后合并b
git branch -d 分支名

2.2.4 解决冲突

Git 结合Github

1.1 创建远程库地址别名

git remote -v  #查看远程地址别名
git remote add 别名 远程地址 
例子:git remote add origin https://xx

1.2 推送

开发修改完把本地库的文件推送到远程仓库` `前提是提交到了本地库才可以推送
git push 别名 分支名
git push -f 别名 分支名    #-f 不进行diff操作强制覆盖,一般不推荐使用
例子:git push origin master

1.3 克隆

完整的把远程库克隆到本地,克隆下来后不要在主分支里面做开发,clone进行一次,从无到有的过程,更新用pull

git clone  远程地址
例子:git clone https://xx

1.4 拉取

`本地存在clone下来的文件 就用pull更新`
pull = fetch + merge
    git fetch 别名 分支名
    git merge 别名 分支名
    
git pull 别名 分支名

1.5 解决冲突

注意:解决冲突后的提交是不能带文件名的
如果不是基于远程库最新版做的修改不能推送,必须先pull下来安装冲突办法解决

1.6 Tag标签

为了清晰的版本管理,公司一般不会直接使用commit提交
git tag -a v1.0 -m '版本介绍'   #创建本地tag信息
git tag -d v1.0         #删除tag
git push origin --tags   #将本地tag信息推送到远程库
git pull origin --tags    #拉取到本地

git checkout v.10    #切换tag
git clone -b v0.1 地址   #指定tag下载代码

1.7 SSH 免密登录

1.8 常见异常

$git pull origin master --allow-unrelated-histories

参考文档:

liuqingg的博客

上一篇下一篇

猜你喜欢

热点阅读