git 简单使用(待完善)
git是一个分布式版本控制器,简单来说就是可以记录每次代码的修改和提交,方便我们查看修改记录和版本的回退
工作流程

基本概念
仓库
git 是一个分布式版本控制器,其单位就是仓库,每个仓库就是当前git管理的总和远程仓库
远程仓库有时也称为中心仓库,所有的代码push到的地方,理论上来说,因为git是分布式的,所以我们可以把任意一个仓库作为远程仓库来使用。不过一般我们为了统一,都会统一使用一个作为中心仓库。本地仓库
就是git所管理的本地项目暂存区
代码提交会先提交到暂存区,当时间合适的时候才推到远程服务区,在暂存区中,我们可以查看当前文件和上次修改之间的不同。分支
在主时间线上可以分出一个分支来开发我们的新代码,当全部测试完之后,我们可以将分支push到主线上并删除当前开发使用的分支。
在我的理解中,一个分支相当于一个暂存区空间,不同的分支独立拥有自己的暂存区
命令
git 相关命令较多,建议还是多用man git 或者 加--help 参数查看说明
基本命令
- 初始化空仓库:
git init - 查看当前暂存区情况(和上次commit的不同):
git status - 添加指定文件的修改到暂存区:
git add [file_name] - 添加当前路径下所有文件到暂存区:
git add . - 提交代码至暂存区:
git commit -m "[desc]" - 查改提交记录:
git log - 查看当前暂存区情况(和上次commit的不同):
git status - 查看远程仓库:
git remote -v - 查看分支:
git branch - 切换分支:
git checkout [branch] - 从当前分支fork出新分支:
git checkout -b [branch] - 从远程仓库拉取:
git pull - push master 分支的所有提交至远程(其它分支同理):
git push origin master - 查看当前文件的改动:
git diff
常用
代码修改到一半,想回到上次提交,又不想commit。
- 暂时保存当前更改,且暂存区干净(回到上次commit):
git stash - 从
git stash之后恢复:git stash pop
打补丁和应用补丁
- 生成补丁(根据当前分支和master的不同):
git diff master > patch - 应用补丁(在master分支上):
git apply patch - 检查补丁是否干净:
git apply --check
查看指定文件详细改动历史:
git log -p [file]
查看文件提交记录:git log -- [file]
查看指定commit提交的改动:git show [commit_id]
git 简单使用(待完善)的更多相关文章
- 小丁带你走进git世界一-git简单配置
小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config –global user.name BattleHeaer ...
- git简单入门
git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...
- Git简单生成生成公钥和私钥方法
Git简单生成生成公钥和私钥方法 Git配置 Git安装完之后,需做最后一步配置.打开git bash,分别执行以下两句命令 git config --global user.name “用户名” g ...
- 猫猫学iOS 之第一次打开Xcode_git配置,git简单学习
猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:错误 当第一次打开Xcode我们进行commit操作的时候会 ...
- Git简单多人协作
感谢廖雪峰老师,引自他的Git教程. Git简单多人协作 首先,可以试图用git push origin <branch-name>推送自己的修改: 如果推送失败,则因为远程分支比你的本地 ...
- Git简单应用(1)
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 1.Windows安装git msysgit是Windows版的Git,从https://git-for-windows. ...
- GIT简单操作
以下只是简单的bash的操作命令,个人比较喜欢用gui 打开 git bash here git clone https://github.com/自己的名字/trunk git checkout + ...
- git简单使用和说明文件的书写
一. git 简单使用 1.注册 https://github.com/ 2.初始化 配置 git config --global user.name "Your Name" gi ...
- 在win7系统下使用TortoiseGit(乌龟git)简单操作Git@OSC
非常感谢OSC提供了这么好的一个国内的免费的git托管平台.这里简单说下TortoiseGit操作的流程.很傻瓜了 首先你要准备两个软件,分别是msysgit和tortoisegit,乌龟还可以在下载 ...
随机推荐
- Oulipo(Hash入门第一题 Hash函数学习)
Hash,一般翻译做散列.杂凑,或音译为哈希,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的 ...
- suffix ACM-ICPC 2017 Asia Qingdao
Consider n given non-empty strings denoted by s1 , s2 , · · · , sn . Now for each of them, you need ...
- inventor安装失败怎样卸载安装inventor 2014?
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- [一点一滴.NET]进程和线程的区别
进程是“执行中的程序”,是一个动态的概念.我们使用IDE编写的程序是静态的,静态程序经过编译形成EXE文件,运行起来之后就形成了一个进程.进程不仅仅是程序的代码,还包含了程序运行时的活动信息,通常由程 ...
- pat1016. Phone Bills (25)
1016. Phone Bills (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A long-di ...
- php和java的区别
php和java的区别 前几天有个大学的同学给我来电话,他是在培训java的,然后我们就讨论了一下关于php和java的优劣区别(我们的是初学者,所以下面发表的内容可能不会很精准到位,望体谅): 我们 ...
- Qt 学习
Qt 学习 C++ 模版 QObject 提供一个十分有用的 api,T findChild(QString, Qt::FindChildOptions),这个函数接收一个模版参数,返回模版参数的类型 ...
- python 不同目录间的模块调用
有时候调用的模块不再同一个目录.直接import 是加载不进来的.默认的加载路径是sys.path中指定的路径.如果要指定加载的目录得需要把这个目录加到sys.path里面. 比如要加载父目录的同级目 ...
- ansible测试环境
ip user sudo_user port usage 192.168.48.81 ansible root 29922 nagios & ansible control 192.168.4 ...
- 如何使用ABSL代码调用Web service
需求:在C4C UI里创建web service(maintain ticket),然后通过ABSL代码消费. 1. 创建一个新的Communication Arrangement 基于Manage ...