Git操作


一、Git全局设置

在git命令行中执行下面命令

git config --global user.name "codertl"
git config --global user.emal "codertl@qq.com"

查看配置信息

git config --list

注意: 上面设置的 user.nameuser.email 并不是 注册github 或者码云 使用的用户名和邮箱,此处可以任意设置

二、获取 Git 仓库

两种方式:

​ 在本地初始化一个Git仓库

​ 从远程仓库克隆

2.1 从本地初始化一个 Git仓库

image

2.2 从远程仓库克隆

image

三、工作区、暂存区、版本库概念

image

3.1 工作区

包含.git文件夹的目录就是工作区,也称为工作目录,主要存放开发的代码

3.2 版本库

.git文件夹里面的就是 版本库,存储了很多配置信息、日志信息和文件版本信息等

3.3 暂存区

.git 文件夹中有很多文件,其中有一个index文件就是暂存区, 也可以叫做stage。暂存区 是临时保存修改文件的地方

四、Git工作区中文件的状态

4.1 untracked 未跟踪

未被纳入版本控制

4.2 tracked 已跟踪

被纳入版本控制

  1. Unmodified: 未修改状态
  2. Modified: 已修改状态
  3. Staged: 已暂存状态

五、本地仓库常用命令

  1. git status 查看文件状态
  2. git add 将文件的修改加入暂存区
  3. git reset 将暂存区的文件取消暂存或者是切换到指定版本
  4. git commit 将暂存区的文件修改提交到版本库
  5. git log 查看日志

六、远程仓库常用命令

  1. git remote 查看远程仓库
  2. git remote add 添加远程仓库
  3. git clone 从远程仓库克隆
  4. git pull 从远程仓库拉取
  5. git push 推送到远程仓库

6.1 查看远程仓库

image

image

6.2 添加远程仓库

git remote add []

image

6.4 从远程仓库拉取

作用: 从远程仓库获取最新版本并合并到本地仓库

git pull [short-name] [brach-name]

image

注意: 如果当前本地仓库,不是由远程仓库克隆 ,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库中拉取文件会报错 (fatal: refusing to merge unrelated histories)

解决:可以在 git pull 命令后加入参数 --allow-unrelated-histories

6.5 推送至远程

git push [remote-name] [branch-name]

image

image

七、分支操作

  1. git branch 查看分支
  2. git branch [name] 创建分支
  3. git checkout [name] 切换分支
  4. git push [shortName] [name] 推送至远程仓库分支
  5. git merge [name] 合并分支

7.1 查看分支

git branch

image

7.2 创建分支

git branch [name]

image

7.3 切换分支

git checkout [name]

image

7.4 推送至远程分支

git push [shortName] [name]

image

7.5 合并分支

git merge [name]

image

八、标签操作

  1. git tag 列出已有的标签
  2. git tag [name] 创建标签
  3. git push [shortName] [name] 将标签推送至远程仓库
  4. git checkout -b [branch] [name] 检出标签

8.1 列出已有标签

git tag

image

8.2 创建标签

git tag [name]

image

8.3 将标签推送至远程仓库

git push [shortName] [name]

image

8.4 检出标签

需要新建一个分支来指向某个标签:检出的命令为

git checkout -b [branch] [name]

image

九、IDEA使用Git

9.1 IDEA中配置git

image

9.2 在项目中添加 .gitignore 文件

### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn.  Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/
target/
*.iml
.flattened-pom.xml

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

### Java template
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

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

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

9.3 提交代码到远程仓库

image

image

image

9.4 拉取远程代码

image

9.5分支操作

image

image

image

image

image

9.6 合并分支

image

image

image

image

原创文章,作者:端木书台,如若转载,请注明出处:https://blog.ytso.com/245324.html

(0)
上一篇 2022年4月18日
下一篇 2022年4月18日

相关推荐

发表回复

登录后才能评论