git学习小结

作者: perhaps青林 | 来源:发表于2018-09-26 09:11 被阅读5次

一、安装配置

1.1 安装

win
linux: sudo apt-get install git
mac: brew install git

1.2 基本配置

配置文件 .gitconfig 在用户目录下

# 用户名和密码
git config --global user.name "perhaps"
git config --global user.email "perhapszql@gmail.com"
# 设置代理
git config --local http.proxy 'socks5://127.0.0.1:1080'
git config --local https.proxy 'socks5://127.0.0.1:1080'
# 取消代理
git config --local --unset http.proxy
git config --local --unset https.proxy
# 生成ssh密钥对在用户目录,公钥打开全选复制到github中
ssh-keygen -t rsa -C "perhapszql@gmail.com"

1.3 配置别名

打开 .gitconfig 文件进行添加

[user]
  email = perhapszql@gmail.com
  name = perhaps
[http]
  proxy = socks5://127.0.0.1:1080
[https]
  proxy = socks5://127.0.0.1:1080
[alias]
  st = status -sb
  ad = add
  ci = commit
  br = branch
  co = checkout
  df = diff
  cp = cherry-pick
  lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
  alias = config --get-regexp 'alias.*'

1.4 初始化

  • 本地初始化git init
  • 拉取远程库git clone git@github.com:perhaps-yo/knowledge.git

1.5 原理分析

工作区: 当前工程,不包括.git
暂存区和分支区: .git文件
忽略指定的文件: .gitignore

二、远程库

git remote add origin URL # 添加远程库origin
git remote rm origin # 移除远程库origin
git remote -v  # 显示origin远程库信息

三、场景总结

不管任何场景,每执行一个命令,都需要git st查看代码状态

1、最常用的

git ad * # 工作区 -> 暂存区
git ci -m 'message' # 暂存区 -> 分支区
git pull --rebase # 以rebase的形式合并代码,这里可能会merge失败
git br # 查看当前分支
git push origin <remote-branch> # 提交到远程库

若rebase自动合并失败,会提示:auto-merging conflictconflict: merge conflict in FILE_NAME
解决思路:自动merge成功后的代码,会放在暂存区,而merge失败的代码,会放在工作区,可先利用git df查看失败的代码,手动修改并保存到暂存区后,就可以继续rebase了

git df # 工作区和暂存区比较,加--cached的话,就是暂存区和分支区的比较
git ad <file-name> # 手动解决冲突后,添加文件到暂存区
git rebase --continue

2、分支合并

git br # 查看本地所有分支,加-r可以查看远程所有分支
git co master # 切换到master分支
git merge dev # 合并dev分支到master分支
git push origin master

若自动merge失败,会提示:conflictautomatic merge failed
解决思路:手动解决冲突,并用ad ci 保存

3、命令撤销

撤销add: git reset HEAD
撤销commit: git reset --soft HEAD~
修改commit: git ci --amend
撤销push: 本地撤销commit和add,再强制push到远程: git push origin master --force

4、版本回滚(危险操作)

git lg # 查看要回退的commit-id
git reset --hard <commit-id> # 若commit-id为HEAD~,则回退到上个版本
git push origin master --force # 这里本该是先pull,但push force的话,**可以强制修改远程库分支**

撤销上面的操作

git reflog # 查看回滚前的commit-id
git reset --hard <commit-id>

5、移动文件夹

git mv -fr <source> <destination> # 相对目录

6、分支操作

查看所有分支: git br -a
新建分支: git br <br-name>
删除分支: git br -d <br-name>, 若换成-D,则强制删除
删除远程分支: git push origin -d <br-name>, 危险操作

7、储藏代码状态

git stash # 储藏工作区和暂存区的代码
git stash list
git stash pop # 应用储藏的代码

相关文章

  • 2018-04-18

    git学习小结 关于git init,git add,git commit 用法总结 1.首先配置git 全局配置...

  • Git学习笔记(廖雪峰)

    Git学习笔记(廖雪峰) 创建版本库 小结 初始化一个Git仓库,使用git init命令。 添加文件到Git仓库...

  • Git 入门教程:PPT+视频+《Pro.Git中文版》

    01 git安装视频链接: 密码: p46w 02 Git基本操作 小结 03 git分支 小结 04 Git服务...

  • git学习小结

    第一次学习github,了解和熟悉github的相关基础知识,一些最基本的命令,如何创建仓库及项目的命令。 git...

  • git 学习小结

    Git git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布。最初目的是为更好地管理...

  • Git学习小结

    今天翻了下git,这是之前学习git的记录前段时间学习了廖雪峰老师的Git教程,今天再来温故下,加深下记忆! 创建...

  • git学习小结

    一、安装配置 1.1 安装 win linux: sudo apt-get install git mac: ...

  • Git 学习小结

    git checkout -- file #将工作区的改动放弃git reset HEAD file #将添加到暂...

  • Git学习小结

    现在已经使用git在项目中做版本控制工具,但是从来没有详细的学过一遍git的命令行操作方法,这次也是通过廖雪峰的g...

  • Git 学习小结

    公司的项目是用git管理的,自己一直用sourcetree管理项目,看到同事基本都会用git 命令行感觉很高大尚,...

网友评论

    本文标题:git学习小结

    本文链接:https://www.haomeiwen.com/subject/ykxdoftx.html