Git使用

Git 安装与设置

Git工作流程图:

Git镜像网站:
https://registry.npmmirror.com/binary.html?path=git-for-windows/

设置用户签名:
git config --global user.name 用户名
git config --global user.email 邮箱
在用户家目录中生成文件名为 .gitconfig 的配置文件;

git 提供一个git config 工具来控制配置变量;
git config --list git config --list --show-origingit

Git 基本操作

初始化仓库

git init指令
使用init命令,在所在目录中创建一个.git的隐藏文件, 保存仓库信息;
git init

git clone 远程仓库:
git clone <远程仓库的链接> [本地目录]

查看本地库:
git status

添加暂存区: git add .

暂存区中的文件变化会被git跟踪;
使用git status查看时,被跟踪的文件显示为绿色;否则显示为红色;

**删除暂存区中文件: ** git rm --cached 文件名

提交到本地仓库: git commit -m"日志信息"

将暂存区当中所有的文件提交到本地库:
git commit -m "日志信息"

指定要提交到本地仓库中的文件:
git commit -m "日志信息" 文件名

提交完成后可以用git status 查看本地库状态;

忽略列表:保存不需要纳入Git管理的文件记录其中

在主目录下(.git文件夹的父目录)创建一个名为.gitignore的文件;

编写.gitignore文件内容,比如忽略以.a为后缀的文件;
*.a

将.gitignore文件,经过git add (->暂存区);git commit (-> 本地库)后;
方可起到不被提交到远程库的功能;

查看日志信息(历史版本信息)

查看提交到本地仓库的操作的记录信息;

查看简写的版本信息:
git reflog

查看详细的版本信息:
git log

历史版本的穿梭
git tag

git 可以给每个版本打上这样的标签,
这样你忽然想看看第一版的报告是什么内容,就可以通过标签切换回去。

git tag v1 代表新建 v1 tag,
git tag 代表查看标签。

分支操作:

查看本地分支:
git branch -v 或直接用 git branch
git branch -r 列出所有远程分支;

创建本地分支:
git branch 分支名 # 创建分支

切换本地分支:
git checkout 分支名

当分支不存在时,直接创建一个分支并切换:

合并本地分支:
将其中分支中修改的内容与另外一个分支上的内容合并起来。合并的分支仍存在;
注意是将其他分支合并到当前分支中

git merge 合并的分支名

删除分支:
// 删除分支时,需要做各种检查
git branch -d 分支名

// 不做任何检查,强制删除
git branch -D 分支名

合并冲突:
两个分支同时修改了同一个文件的同一行(Git 是一行为最小单位)的内容。
合并时Git就不知道你需要的是哪个修改为准产生冲突 MERGING 。

手动修改自己需要的内容后,提交到本地仓库;

Git 远程仓库

注册远程仓库 Github

创建远程仓库链接别名

git remote add <远程仓库链接的别名> <远程仓库的链接URL>

远端仓库链接的别名,默认是 origin,取决于远端服务器设置,
许多大公司都是使用默认的别名origin。例如:
git remote add origin https://github.com/China-Rainbow-sea/java.git

查看远程仓库:
git remote 或 git remote -V
带-v参数哦会看到两个链接别名;fetch 和 push;

推送本地仓库分支到远程仓库

git push <远程主机名> <本地分支名>:<远程分支名>

如果本地分支名与远程分支名相同,则可以省略冒号: git push origin master

从远程仓库中抓取和拉取到本地仓库

对于远程仓库中的内容的更新,通过 pull 拉取到本地仓库;
注意请时刻保持 远程仓库中的内容与 本地仓库中的内容一致,
防止影响一些后面的项目操作;
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull 远程仓库的链接/远程仓库链接的别名 远程仓库的分支名

如果不指定远程仓库链接和分支名,则抓取所有并更新当前分支。

克隆远程仓库到本地仓库

如果已存一个远程仓库了,
就可使用 clone 克隆的方式,将远程仓库中的内容都克隆到本地仓库中。

clone克隆远程仓库的同时会:
1.初始化本地仓库,
2.创建目录(文件夹),
3.拉取pull远程仓库中的所有内容。