Git 注册、安装、配置、命令
2018-01-06 20:23
232 查看
1.说明
本文主要用于记录Git的相关操作,作为自己学习和使用Git的记录,所以内容缺少对各类原理的相关说明,相对简单。如果想对这些内容进行进一步的了解,可以参考如下文章:
Git版本控制软件结合GitHub从入门到精通常用命令学习手册
2. 下载、安装与配置GitLab
下载Githttps://git-scm.com/downloads
安装Git
3. 命令集合-Git Bash进行-基本快照
3.1. 配置用户和邮箱
//配置用户名git config --global user.name "你的用户名"
//配置邮箱
git config --global user.email "你的邮箱"
3.2. git init 初始化
//在目录中创建Git仓库,即生成.git子目录,存放相关快照数据git init
3.3. git clone 克隆项目
//直接克隆:直接将xxxxx.git相关项目克隆到当前目录下git clone xxxxx.git
//制定目录克隆:将xxxxx.git相关项目克隆到制定目录下
git clone xxxxx.git mydemo
//新建分支克隆:克隆时创建新的分支代替master
git clone -b new_branch_name xxxxx.git
//在本地新建同名的(“dev”)分支,并切换到该分支
git checkout -t origin/dev
git checkout -b dev origin/dev
3.4. git branch 分支相关
//查看本地所有分支git branch
//查看远程分支
git branch -r
//查看所有分支
git branch -a
//删除本地分支
git branch -D br
//从当前分支创建新分支并切换
git checkout -b
//从指定分支创建新分支并切换
git checkout -b br brcopy
3.5. git status 查看项目当前状态
//查看简略状态git status -s
//查看详细状态
git status
//状态说明
序号 | 符号 | 状态说明 |
---|---|---|
1 | ?? | 已修改,未add |
2 | A | 已add |
3 | AM | 已add,又发生修改 |
4 | D | 提交完,又删除的文件 |
5 | MM | 改完,提交了,又改了 |
3.6. git add 添加新文件或待提交的修改至缓存区
//添加制定文件git add file1 file2 file3
//迭代地添加当前目录下的所有文件
git add .
git add *
3.7. git commit 提交
//加注释提交git commit -m '项目创建'
//不加注释提交:vim中添加注释
//因为提交与推送改动是有区别的, 请务必花时间将各个逻辑独立的改动放到另外一个提交,
//并附上一份良好的提交注解, 以使与你合作的人能够方便地了解你所做的,以及你为何要这么做。
git commit
简短的关于改动的总结(25个字或者更少) 如果有必要,更详细的解释文字。约 36 字时换行。在某些情况下, 第一行会被作为电子邮件的开头,而剩余的则会作为邮件内容。 将小结从内容隔开的空行是至关重要的(除非你没有内容); 如果这两个待在一起,有些 git 工具会犯迷糊。 空行之后是更多的段落。 - 列表也可以 - 通常使用连字符(-)或者星号(*)来标记列表,前面有个空格, 在列表项之间有空行,不过这些约定也会有些变化。
//自动添加提交:不能自动git add新增的文件,需要手动git add
git commit -a
git commit -a -m
3.8. git diff 查看改动
//显示未git add至缓存中的修改git diff
//显示已git add至缓存中还未git commit的修改
git diff --cached
//显示全部修改
git diff HEAD
//简略显示参数 –stat
git diff --stat
git diff --cached --stat
git diff HEAD --stat
//定位至某个目录
git diff --stat subdir/
git diff --cached --stat subdir/
git diff HEAD --stat subdir/
//git diff [version] 查看某个旧历史点之后都有啥变了
git diff V1.0
git diff V1.0 --stat//统计
//查看 branchB 与 branchA 的相对差值
git diff --stat master...dev
git diff --stat mast dev
3.9. git reset HEAD 取消已缓存的内容
//取消已缓存的内容:取消git addgit reset HEAD -- hello.txt
3.10. git rm 将文件从缓存中移除
//从缓冲区移除,并删除文件git rm -f hello.txt
//删除未git add至缓存区的文件
rm hello.txt
//从缓存区移除,但不删除文件
git rm --cached hello.txt
4.0 命令集合-Git Bash进行-分支管理
4.1. git branch 列出分支
//查看本地所有分支git branch
//查看远程分支
git branch -r
4.2. git branch 创建新分支
git branch newbranch
4.3. git checkout 切换分支
//切换到指定分支git checkout master
4.4. git checkout -b 创建新分支并切换
//从当前分支创建新分支并切换git checkout -b newbranch
4.5. git branch -d 删除分支
//删除本地分支git branch -d br
//删除本地分支(强制)
git branch -D br
4.6. git merge 分支合并
//分支合并:将dev分支合并到当前分支git merge dev
//冲突展示
$ cat read.md #git项目示例 ##1.hahaha ##2.heiehi <<<<<<< HEAD ##3.master ======= ##3.fix_read >>>>>>> fix_read ##4.22222 ##5.hhaahahah
解决冲突后,需要把冲突的文件git add
$ git status -s UU README $ git add README $ git status -s M README $ git commit [master 8d585ea] Merge branch 'fix_readme'
4.7. git log 显示更改记录
//详细显示当前分支的git commit/merge记录git log
//简略显示当前分支的git commit/merge记录
git log --oneline
//简略的以图像化的方式显示当前分支的git commit/merge记录
git log --oneline --graph
//简略的以图像化的方式显示指定分支的git commit/merge记录
git log --oneline --graph dev
//显示在master分支中的但不在dev分支中的提交:即dev分支之外的提交
git log --oneline --graph master ^dev
//显示在dev分支中的但不在master分支中的提交
git log --oneline --graph dev ^master:即dev还未合并的分支
//简略的以图形化的方式显示指定分支的git commit/merge记录(包含分支名和标签)
git log --oneline --graph --decorate
//–author作者
git log --author=hanchao
//–number 条数
git log --author=hanchao -5//最近5条
//–before –after –since -until 时间参数
git log --before={3.week.ago} --after={2017-11-11}
//–no-merges 隐藏git merge的commit
git log --no-merges
//–grep 过滤注释
git log --grep="add txt"
//–grep 与 –author –all-match且
git log --grep="add txt" --author=hanchao//或
git log --grep="add txt" --author=hanchao --all-match//且
//–format 格式化
git log format="%h %an %s"//版本号 作者 提交注释
//-S 依据所引入的差值过滤:找某个函数是何时引入的,某些变量是在哪里开始被使用的
//注意在“-S”与你要找的东东之间没有“=”
git log -SNewClass
//-p 显示补丁:即每次提交的差值
git log -p -2//显示最近两条提交的补丁
//–stat 显示差值统计
git log --stat -2
4.8 git tag 打标签
//给当前分支的上次提交打标签git tag -a V1.0
//给当前分支的制定提交打标签
git tag -a V1.0 96098ca
5.分享与更新项目
简而言之 使用 git fetch 更新你的项目,使用 git push 分享你的改动。 你可以用 git remote 管理你的远程仓库。5.1. git remote 远端仓库操作
//列出远端别名git remote
//列出远端别名和实际地址
git remote -v
//添加远端仓库[url通过在远端仓库创建获得]
git remote add 别名[default:origin] git@github.com:schacon/hw.git
//删除远端连接
git remote rm 别名
5.2.git push 推送分支
//推送分支:本地分支推送到远端分支,分支已经存在,它会试着去更新,如果它不再,Git会把它加上。git push origin master
//如果本地分支已经不是最新的,则会被打回。执行
git fetch origin;git merge origin/master然后再推送
相关文章推荐
- git安装配置,常用命令
- 我的Git之旅(1)---git安装、github注册以及一些基本命令
- 分布式版本控制系统Git(一):Git安装配置、基本命令
- Git安装完后的配置及常用操作命令
- Git总结(1)—优势&安装&原理&本地操作命令&分支&协作&标签&自定义配置
- git常用命令--安装配置
- 阿里云上配置CentOS安装Git(小沐git安装命令全集整理版)
- Linux下git安装配置
- Windows环境下安装配置Teamcity配合git自动发布mvc,webapi站点
- Git server安装和配置
- 使用Gitblit在Windows平台上安装与配置Git Server
- Pycharm 安装 , Git 插件安装,django环境配置
- windows下git安装以及基本配置
- 安装Git插件及其配置使用
- Git系列博客——(2)git安装和基本配置
- EMC存储多路径软件安装配置及相关命令
- Linux 安装配置curl 命令工具
- Git配置命令
- Redis安装+Redis持久化配置+jedis基本命令+demo(ubuntu下)
- Windows下Git客户端的安装及配置