Git 简介
是什么
Git 也是一个版本控制管理软件
有什么用, 可以解决什么问题
保存历史记录
多人协作
有了 SVN, 为啥要学 Git
Git 火
Git 相对于 SVN 来说, 更强大, 用户也非常多
怎么用
Git 的诞生
Git-bash 常用命令
- pwd
- ls
- ls -a
- cd
- mkdir
- clear
- rmdir
只能删除空目录
rm
rm 文件名
rm -rf 目录名
注: 很强大, 可以删除非空目录, 以及一些比较顽固的文件或者目录
初始化配置
- # 设置用户名
- Git config --global user.name "你的名字"
- # 配置用户邮箱
- Git config --global user.email "你的常用邮箱"
- # 设置 gitk 图形查看工具中文显示默认编码(防止乱码)
- Git config --global gui.encoding utf-8
- # 查看配置列表项
- Git config --list
基本使用
Git init
初始化一个 Git 仓库
Git status
查看当前工作区, 暂存区, 本地仓库的状态
- Git add
- Git commit
示例:
Git commit -m "日志说明" --author="操作者姓名 <邮箱>"
执行 Git commit 的时候, Git 会要求具有用户名和邮箱的参数选项
可以通过 Git config 命令配置一下用户名和邮箱
Git log
gitk
总结: 操作 Git 的基本工作流程就是先修改文件, 然后执行 Git add 命令.
Git add 命令会把文件加入到暂存区, 接着就可以执行 Git commit 命令, 将文件存入文档库,
从而形成一次历史记录.
工作区, 暂存区, 本地仓库
版本回退
- # Git rm --cached <file>
- # 恢复暂存区的指定文件到工作区
- $ Git checkout [file]
- # 恢复某个 commit 的指定文件到暂存区和工作区
- $ Git checkout [commit] [file]
- # 恢复暂存区的所有文件到工作区
- $ Git checkout .
- # 重置暂存区的指定文件, 与上一次 commit 保持一致, 但工作区不变
- $ Git reset [file]
- # 重置暂存区与工作区, 与上一次 commit 保持一致
- $ Git reset --hard
- # 重置当前分支的指针为指定 commit, 同时重置暂存区, 但工作区不变
- $ Git reset [commit]
- # 重置当前分支的 HEAD 为指定 commit, 同时重置暂存区和工作区, 与指定 commit 一致
- $ Git reset --hard [commit]
- # 重置当前 HEAD 为指定 commit, 但保持暂存区和工作区不变
- $ Git reset --keep [commit]
- # 新建一个 commit, 用来撤销指定 commit
- # 后者的所有变化都将被前者抵消, 并且应用到当前分支
- $ Git revert [commit]
- # 暂时将未提交的变化移除, 稍后再移入
- $ Git stash
- $ Git stash pop
远程同步
- remote
- push
- pull
在线仓库托管服务
一个不知道 GitHub,Stack Overflow 的程序员想想都是可悲的
GitHub
码云
coding
GitHub
GitHub 就是程序员的新浪微博
它可以让你使用社交化的方式进行编程协作,
- 点赞
- 评论
- 转发
- etc.
主要作用: 可以免费在线托管你的仓库
可以实现多人协作
提供了一个可视化界面 (web Page) 让你能直观清晰的了解你的项目源代码
基本使用
注册
登陆
创建远程仓库
通过 Git clone 命令下载远程仓库到本地
Git clone 会自动帮你把远程仓库下载到本地, 不需要再去 Git init 了
通过 clone 下来的仓库, Git 有一个远程仓库地址列表, Git 默认会把你 clone 的地址起一个别名: origin
然后你执行 push 的时候实际上就是将本地的版本提交到 origin 上
在本地进行操作, 通过 Git commit 形成历史记录
通过 Git push 将本地仓库中的历史记录提交到远程仓库
本地已有仓库, 需要提交到线上
如果是 Git init 出来的仓库, 进行 push 提交的时候就不知道要往哪里 push.
所以, 这里通过 remote 相关命令进行设置:
- # 查看所有的远程仓库信息
- Git remote show
- # 根据别名查看指定的远程仓库信息
Git remote show 远程仓库地址别名
# 添加远程仓库信息
Git remote add 别名 远程仓库地址
通过上面的 Git remote add 添加完远程仓库地址信息之后, 还不能直接 Git push, 必须在每一次
push 的时候加上 Git push 仓库地址别名 master 就可以提交了.
如果想要省略 Git push 后面需要指定的 仓库地址别名 master 可以通过下面的命令修改:
Git push --set-upstream heima master
这样就可以直接使用 Git pish 进行提交而不需要指定 heima master 了
来源: http://www.bubuko.com/infodetail-3392473.html