二、安装配置

在 Windows 平台上

安装包下载地址:http://msysgit.github.io/

完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具

启动:

1、在开始菜单里找到"Git"->"Git Bash",会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作

2、去到项目文件右键选择Git Bash Here

三、基本操作

git指令地址:http://git-scm.com/docs

配置信息

$ git config --list  //查看所有配置信息

配置个人的用户名称和电子邮箱地址:

$ git config --global user.name "yourname"  //--global可以去掉,可以在某个项目使用其他特定的名字或者电邮

$ git config --global user.email test@balabala.com  //邮箱不用引号

$ git config --global user.name  输出:yourname

$ git config --global user.email  输出:test@balabala.com

配置文本编辑器

Git默认是Vi或者Vim,如果要设置为Emacs:

$ git config --global core.editor emacs

Vim文本编辑器操作

$ vim 文件名  //文件名注意加上扩展名,不然会创建新的文件

Vim界面操作(命令不包括引号)

“a”键进入编辑状态

“esc”退出编辑状态

退出编辑状态后:

“:wq”保存退出

“:q!”不保存退出

Git创建仓库

在项目目录右键-》Git Bash启动git

初始化Git仓库,会在目录下创建一个隐藏的 .git 目录,所有Git需要的数据和资源放在这个目录中

$ git init 目录名  //没有目录名时则将当前目录作为Git仓库

$ cd 目录名  //进入该目录

$ ls -a  //查看目录中的所有文件

$ git add 文件名  //跟踪文件,放入缓存

$ git commit -m "此次提交的备注信息"  //提交文件到版本库

$ git commit -am "备注信息”  //一步完成git add 和 git commit 命令

$ git clone 本地仓库 克隆仓库名

$ git clone [url] 克隆仓库名  

例如克隆GitHub上的项目

$ git clone github仓库网址 本地仓库名  //不指定名字,跟GitHub项目同名

基本操作

$ touch 文件名  //在当前目录下创建空文件

$ git add 文件名 文件名 ...(*.c表示所有.c文件)  //将文件添加到缓存

$ git status -s  //用于查看项目的当前状态, -s 以简短的结果输出

文件状态

?? 文件名  //未提交到缓存

A 文件名  //提交到缓存

AM 文件名  //提交到缓存后又有改动

M 文件名  //修改未添加缓存

M   文件名  //添加缓存,又有修改

$ git diff  //查看你执行git status 的结果的详细信息

  • 尚未缓存的改动:git diff
  • 查看已缓存的改动: git diff --cached
  • 查看缓存的与为缓存的所有改动: git diff HEAD
  • 查看摘要而非整个: git diff --stat

$ git commit  //将缓存区内容添加到仓库中,每一次提交都记录到你的名字和电子邮箱地址

$ git reset HEAD  //用于取消已缓存的内容,恢复作出修改之前的样子

$ git reste HEAD -- 文件名  //接下下来的 git commit 操作不会提交该文件改动,若要提交该文件需要从新执行 git add                //和 git commit

$ git rm  //将条目从缓存区中移除,与 git reset HEAD 有区别。

$ git rm 文件名  //会将文件从缓存区和你的硬盘中(工作区)删除

$ git rm --cached 文件名  //在工作区中留着该文件

$ git mv  //该命令所做的事情就是git rm --cached命令的操作,重命名磁盘上的文件,然后在执行 git add 把新的文件加到缓存区

Git分支管理

$ git branch  //没有参数时,列出本地的分支

$ git branch branchname  //创建分支

$ git checkout branchname  //切换分支

$ git checkout -b brnchname  //创建新的分支并立即切换到该分支

$ git branch -d branchname  //删除分支

$ git branch -d newtest
error: The branch 'newtest' is not fully merged.
If you are sure you want to delete it, run 'git branch -D newtest'.

$ git branch -D branchname  //删除分支

$ git merge branchname  //将其他分支合并到当前分支

合并冲突(conflicts)

原因:两个分支同名文件内容不同

解决办法:

  1. 手动修改文件,使内容相同,然后合并
  2. 会退到 merge 操作前,命令:$ git reset --merge ,因为有时候冲突是由于同事的文件造成的

Git查看历史提交记录

$ git log  //查看详细记录

$ git log --oneline  //显示一行的简介记录

$ git log --oneline --graph  //查看历史出现分支、合并情况

$ git log --oneline --reverse  //逆向显示所有日志

$ git log --author=用户名 --oneline -5  //查看指定用户的提交记录,-5 指定显示5行日志

$ git log --oneline --before={3.week.ago} --after={2016-12-15} --no-merges  //指定时间,--no-merges隐藏合并提交

最新文章

  1. Android Studio快捷键switch case 轻松转换为if else
  2. junit学习笔记
  3. *MyBatis框架 在控制台打印sql语句
  4. 四、优化及调试--网站优化--Yahoo军规下
  5. vue学习笔记之v-for与-repeat
  6. C#生成条形码 Code128算法
  7. 关于TbSchedule任务调度管理框架的整合部署
  8. sqlserver常用日期、时间函数和格式
  9. keystone命令与client接口学习
  10. FZU2232 炉石传说 最大匹配
  11. n%i之和
  12. python一些模块的exe安装包在windows的64位系统里识别不到已安装Python目录的解决方法
  13. No matching code signing identity found
  14. centOS下调整swap
  15. maven学习2,安装插件
  16. ajax成功后XML 解析错误:格式不佳
  17. jmeter获取cookies信息(配置)
  18. Brainfuck反汇编-高级版(Python)
  19. hdu2389 Rain on your Parade 二分图匹配--HK算法
  20. delphi const的用法

热门文章

  1. Hook机制里登场的角色
  2. JQuery_DOM 节点操作之包裹节点
  3. spring cloud资料
  4. easyui combobox 左匹配模糊查询
  5. unity自带寻路Navmesh入门教程(三)
  6. 20145218 GDB调试汇编堆栈过程分析
  7. cookie的弊端
  8. js 同for一样效果 (延迟)每秒循环一次 追加
  9. java web 之 SpringMVC4.x配置
  10. The ProgID of the WorkspaceName's workspace factory