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远程仓库中的所有内容。