1. git安装(略)
2. git配置级别
Git有3个级别的配置文件(local、global、system)
-
local:区域为本仓库
本地级别的配置保存在当前仓库下面的.git\config
文件内,通常.git
文件夹是隐藏的。这里的配置仅对当前仓库有效,不影响其他的仓库。示例用法:## 查看局部(当前目录)配置信息 git config --list --local --show-origin
-
global: 当前用户的所有仓库
全局级配置文件包含当前系统用户的拥有的仓库配置值,每个系统用户的全局级配置相互隔离。全局级别的配置默认保存在当前系统用户的主目录下的.gitconfig
(如:root用户的文件保存在/root/.gitconfig
) 文件内。优先度比系统级高,可覆盖系统级的配置值。全局级的配置平时使用得比较多,比如设置账号和邮箱。示例用法:git config --list --global --show-origin
-
system: 本系统的所有用户
系统级配置文件含有系统里每位用户及他们所拥有的仓库的配置值。其位置为git的安装目录下的/etc/gitconfig
,系统配置对所有用户和所有 Git 仓库都有效。请注意,修改系统配置通常需要管理员权限。优先度最低,其配置值可被全局级配置和本地级配置的值覆盖。一般我们很少会使用系统级的配置。示例用法:git config --list --system --show-origin
优先级:local > global > system
3. git基本操作
Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。
Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull
- workspace:工作区
- staging area:暂存区/缓存区
- local repository:版本库或本地仓库
- remote repository:远程仓库
2. 创建本地仓库
2.1. 在本地创建空目录
mkdir 项目路径(如:/dbData/myProject)
2.2. 初始化仓库
cd /dbData/myProject
git init
# 初始化仓库后,查看隐藏的.git目录
ls -lsa
ls .git
git目录下记录了项目需要设置的信息
2.3. 查看当前仓库的配置
git config --local --list
2.4. 设置当前仓库的用户名以及邮箱
有些时候我们的服务器可能要部署多个git仓库,不同git仓库的用户名以及密码都是不一样的,此时需要我们设置单个仓库的用户名以及密码。
git config user.name "userName" //你的用户名
git config user.email "email address" //你的邮箱地址
2.5. 缓存当前仓库的用户名以及密码
让git记住账号和密码的方法是在git bash
中执行命令:
## 永久记住
git config credential.helper store
## 设置记住密码(默认有效期为15分钟)
git config credential.helper cache
## 设置记住密码(自定义有效期),以下命令代表每 3600 秒会让输入一次账号和密码
git config credential.helper 'cache --timeout=3600'
输入一次账号密码就可以保存,下次不再提示。
2.6. 清除当前仓库缓存的用户名和密码
git config --unset credential.helper
3. 本地仓库连接远程仓库
3.1. 从远程仓库克隆
可不用初始化git仓库,因为远程拉取就有!
git clone git@github.com:username/repositoryname.git (shh仓库地址,需要添加密钥)
git clone https://github.com/dreamChaser-lcc/xnsj.git (https仓库地址不需要密钥)
3.2. 手动建立关联
git remote add origin xxx //xxx为远程仓库地址如上
git remote -v //查看是否添加成功
git fetch origin //向远程仓库拉取内容
git branch -r //查看远程分支
origin就是代表远程仓库的相关数据,它既包含远程仓库url信息,又包括远程仓库在本地的缓存分支信息,缓存文件夹名称等等。
3.3. 取消本地仓库与远程仓库的关联
git remote remove origin
4. 本地分支操作
4.1. 新建本地分支
git branch [branch name]
## 示例
git branch devteam1
4.2. 切换到新分支
git checkout [branch name]
## 示例
git checkout devteam1
4.3. 创建分支同时也切换分支
git checkout -b [branch name]
## 示例
git checkout -b devteam2
假如远程分支已存在,可在创建本地分支时与远程分支关联
git checkout -b [本地分支名称] origin/[远程分支名称]
4.4. 查看本地所有分支
git branch
4.5. 查看本地当前分支
-
方法一
git branch --show-current
该命令在Git版本2.22及以上版本中才可用。如果你使用的是较低版本的Git,可以尝试使用其他方法。
-
方法二
git symbolic-ref --short HEAD
该命令用于显示HEAD指向的分支名。
-
方法三
git rev-parse --abbrev-ref HEAD
4.6. 删除本地分支
git branch -d [branch name]
## 示例
git branch -d devteam2
5. 远程分支操作
5.1. 拉取远程分支到本地仓库
-
git clone 命令获取
git clone -b dev开发分支 http://xxx.xxx.xxx.xxx:9999/aggregate-payment/java-study.git
-
git fetch 命令获取
git fetch
## 拉取前先清除远程分支的本地缓存
git fetch -p origin
5.2. 将本地分支推送到远程
git push [远程主机名] [本地分支名]:[远程分支名]
## 示例
git push origin devteam1:releaseteam1
5.3. 查看远程所有分支
git branch -r
5.4. 删除远程分支
-
删除单个分支名称
git push [远程仓库名称] --delete [分支名称] ## 示例 git push origin --delete releaseteam1
请注意,此命令将从远程仓库中永久删除指定的分支。在这里,[远程仓库名称]是指要删除分支的远程仓库的名称,[分支名称]是指要删除的分支的名称。
-
删除多个远程分支
git push [远程仓库名称] --delete [分支名称1] [分支名称2] ...
5.5. 重命名远程分支
-
步骤1:重命名远程分支对应的本地分支
git branch -m [oldName] [newName] ## 示例 git branch -m devteam1 feat_study_java
-
步骤2:删除远程分支
git push origin --delete [oldName] ## 示例 git push origin --delete releaseteam1
-
步骤3:推送新命名的本地分支
git push origin [newName] ## 示例 git push origin feat_study_java
-
步骤4:把修改后的本地分支与远程分支关联
git branch --set-upstream-to [origin/newName] ## 示例 git branch --set-upstream-to origin/feat_study_java
当本地分支时与远程分支关联时就可以直接 git push
提交!!!
5.6. 更新远程分支的本地列表
当远程上的分支删除时,需要更新本地列表中远程分支。
git remote update origin --prune
6. git文件操作
6.1. 新建文件并提交
## 添加文件到暂存区
git add [file name]
## 查看仓库当前的状态,显示有变更的文件。
git status
## 将暂存区内容添加到本地仓库中
git commit -m "提交文件注释"
6.2. 推送本地分支到远程分支
git push
命令用于从将本地的分支版本上传到远程并合并。
git push [远程仓库名称] [本地分支名]:[远程分支名]
## 示例
git push origin feat_study_java:feat_study_java
如果本地分支名与远程分支名相同,则可以省略冒号:
git push [远程仓库名称] [本地分支名]
## 示例
git push origin feat_study_java
7. 拉取最新代码
git pull
是在提交到远程仓库之前,先更新到最新版本代码,防止和别人代码产生冲突。
git pull origin [远程分支名]