最近在重温GIT的使用,然后结合GIT官网文档进行一些基本操作整理。
官网文档可在官网上下载,可以通过个人的网盘下载(网盘文件也是在官网下载下来的,链接: https://pan.baidu.com/s/1mDDjQY_dPBPfKHX5QdZAyw 提取码: 87uw)
内容整理如下:
说明:<>为必填项,[]为非必填项
1、git基础使用
1.1 获取git仓库
git init //将本地文件初始化,初始化之后,需要通过1.5远程关联进行远程关联,否则只能进行本地仓库操作
git clone <url> [myfilename] //如果myfilename 没有,则会使用project的名称作为当前目录下的新文件
1.2 状态简览
git status
git status -s //简化状态输出
1.3 本地到缓存的操作
git add //将本地文件暂存起来
git rm //将缓存文件移除
1.4 提交更新
git commit //提交本地缓存到本地仓库,如果还没add到缓存的本地文件,不会被提交,所以每次提交前,最好先 git status 查看状态
git commit -m 'message' //添加 -m 选项,将提交信息与命令放在同一行
git commit -a //跳过git add,自动把所有已经跟踪过的文件暂存起来并提交
1.5 远程关联
git remote add [alias] <url> //添加远程版本库,使用别名 alias 替代 url
git push -u [alias] master //将当前文件上传到origin的master
git remote rm <name> // 删除远程仓库
git remote rename <old_name> <new_name> // 修改仓库名
1.6 远程库操作
//git pull 其实就是 git fetch 和 git merge FETCH_HEAD 的简写
git pull <远程主机名> <远程分支名>:<本地分支名> //将远程主机的分支拉取过来,与本地的分支合并。
git pull <远程主机名> <远程分支名> //如果远程分支是与当前分支合并,则冒号后面的部分可以省略
git push <远程主机名> <本地分支名>:<远程分支名> //将本地分支上传到远程主机的分支上,远程分支不存在的时候,会创建
git push <远程主机名> <本地分支名> //如果本地分支名与远程分支名相同,则可以省略冒号
2、分支
2.1 分步创建切换
git branch <branchName> //创建名为branchName的分支
git checkout <branchName> //切换到branchName分支
2.2 直接创建切换
git checkout -b <branchName> //创建并切换到branchName的分支
git checkout -b <branchName> <alias>/<branchName> //创建分支且与远程分支关联
2.3 合并分支
git checkout master //切换到主干分支
git merge <branchName> //合并分支branchName到当前分支(master主干)
2.4 删除分支
git branch -d <branchName>
2.5 分支管理
git branch //如果不加任何参数运行它,会得到当前所有分支的一个列表
git branch -v //查看所有分支,并且查看分支信息
git branch --merged [branchName] //查看已合并[到branchName]的分支
git branch --no-merged [branchName] //查看未合并[到branchName]的分支
3、忽略文件
3.1创建 .gitignore 文件来管理
1)常规的windows操作
根目录下创建gitignore.txt;
打开命令行窗口,切换到根目录(可以直接在文件夹上面的地址栏输入cmd回车);
执行命令ren gitignore.txt .gitignore
2) 用Git Bash
根目录下右键选择“Git Bash Here”进入bash命令窗口;
输入vim .gitignore或touch .gitignore命令,打开文件(没有文件会自动创建);
按i键切换到编辑状态,输入规则,例如node_modules/,然后按Esc键退出编辑,输入:wq保存退出。
3.2 忽略文件
# 忽略所有的 .a 文件
*.a
# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a
# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO
# 忽略任何目录下名为 build 的文件夹
build/
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf
4、配置
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
git config <key> //查看git配置的某一项
git config --list //查看git所有配置
git config --global credential.helper store -file=.git_credential //将证书配置存放到磁盘中,-fiel=.git_credential就是配置存放路径
git config --global --unset <key> //删除配置
tips: 将证书配置存放到磁盘中后,后续的登录证书信息会自动保存到文件中,也就是只需要push输入一次用户名密码之后,后续就不用再输入了