版本控制 git - 速通

版本控制 git


git配置

  1. 查看系统配置:git config --system --list
  2. 查看用户配置(global)配置: git config --global --list

所有的配置都是保存在本地的 Git安装目录下gitconfig -system 系统级的配置文件
保存在登录用户的配置文件 c:\Users\Adminstrator.gitconfig 只适用于登录用户的配置文件 -global全局

  1. 设置用户名:git config --global user.name "zhy"
  2. 设置用户邮箱:git config --global user.email "zhy_post@sina.com"

git 原理

操作图

上图标注了四个工作区域之间的交互操作 (在git bash下)

git 有四个工作区域: 工作目录(Working Directory)暂存区(Stage/index)资源库、本地仓库(Repository或者Git Directory)另外还有 远程git仓库(Remote Directory)

  • Working Directory:工作区,日常工作存放代码
  • Stage/index:暂存区,用于临时存放改动,本质是一个文件,保存即将提交的文件改动信息
  • Repository: 本地仓库,存放提交的所有版本数据,其中HEAD指向最新放入仓库的版本
  • Remote Directory:远程仓库,托管代码的服务器

git项目创建

存在两种方式 在本地创建 从远程仓库克隆


  1. 本地仓库搭建
  • 在目标目录--->右键--->git bash
  • 初始化git: git init
  1. 远程仓库克隆
  • 选好本地目录--->右键--->git bash
  • git clone [url] (需要点击网上该项目的 【克隆】 获取url)
  • 该命令是从远程仓库完全镜像一份到本地
  1. 文件状态
  • Untracked: 未跟踪,此文件在文件夹中但没有提交加入git库,不参与版本控制,需要通过git add将状态变更未Staged
  • Unmodify: 文件已经入库,没有修改,意思是本地库中的文件和工作文件夹中的文件完全一致,这种类型的文件如果被修改 就会变为 Modify 也可以使用git rm移除版本库,则变为Untracked文件
  • Modified: 文件已修改,仅仅是修改没有其他操作,这样的文件可以通过过git add进入暂存staged状态,使用git checkout 则丢弃修改返回unmodify状态,这个git checkout即从库中取出文件,覆盖当前修改
  • Staged: 暂存状态,执行git commit则将修改同步到库中,这时库中文件和本地文件又变为一致,文件为Unmodify状态,执行git reset HEAD filename 取消暂存,文件状态为Modified
  1. 上述文件的4种状态可以通过一下命令查询
#查看指定文件状态
git status [文件名]
#查看所有文件状态
git status

#git add .         添加文件到暂存区
#git commit -m     "说明信息" 提交暂存区的内容到本地仓库
  1. 配置文件忽略规则

哪些文件需要忽略,不提交(如:.class 和 idea的文件) 哪些需要提交(如:jar包 .java等文件)

 #配置语法:
 #以斜杠“/”开头表示目录;
 #以星号“*”通配多个字符;
 #以问号“?”通配单个字符
 #以方括号“[]”包含单个字符的匹配列表;
 #以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
 
 #常用配置
 # Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

被过滤掉的文件就不会出现在git仓库中(gitlab或github)了,当然本地库中还有,只是push的时候不会上传。


使用码云 gitee

  1. 注册--->登录
  2. 绑定SSH公钥,实现免密登录
  • 生成ssh公钥 ssh-keygen
  • 三次回车即可
  • 到本地 C:\Users{登录账户}.ssh 路径下找到公钥

  • git可以连接到你的码云仓库 其他github仓库同理
  1. 新建一个仓库
  2. 克隆到本地


IDEA集成git

  1. 新建项目 绑定git
  • 将远程仓库的git 相关文件拷贝到需要绑定的项目中即可
  1. 复制后git操作
  2. 在ideaTerminal中就可以用命令操作了
  • git add .(添加所有文件到缓存区)
  • git commit (提交文件到本地仓库)
  • git push (push文件到远程仓库)

git分支

# 列出所有本地分支
$ git branch

# 列出所有远程分支
$ git branch -r

# 列出所有本地分支和远程分支
$ git branch -a

# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]

# 新建一个分支,并切换到该分支
$ git checkout -b [branch]

# 新建一个分支,指向指定commit
$ git branch [branch] [commit]

# 新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]

# 切换到指定分支,并更新工作区
$ git checkout [branch-name]

# 切换到上一个分支
$ git checkout -

# 建立追踪关系,在现有分支与指定的远程分支之间
$ git branch --set-upstream [branch] [remote-branch]

# 合并指定分支到当前分支
$ git merge [branch]

# 选择一个commit,合并进当前分支
$ git cherry-pick [commit]

# 删除分支
$ git branch -d [branch-name]

# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

git 完

posted @ 2021-05-19 14:28  —清风碎心—  阅读(72)  评论(0编辑  收藏  举报