Git操作简记

前言

用习惯简书之后大二很长的一段时间都没有碰git了,比较重要的安卓代码被我打成压缩包保存了几个版本,虽然说每次打包都是确保在手机上运行并且确保没有bug的前提下进行的,但之后绝逼不会再去解压以前的压缩包来看,这就失去了当初保存来为了日后回顾的意义。好吧,假期也过了大半才又开始学会这方面的知识,这回为了不像大一那样学了不用过久就忘所以还是做点笔记的好。

操作步骤

第一次操作的需要配置用户名(git config --global user.name "你的名字")和用户的邮箱(git config --global user.emil "你的邮箱")。
在本地创建的工程想要进行版本控制就在该项目的文件夹下面进行初始化操作(git init)
然后add然后commit巴拉巴拉

git clone
ls -al
git status
git add .
git commit -m ""
git pull
git push origin

基础操作

  • 初始化仓库
git init
  • 查看仓库的状态
git status
  • 向缓存区添加文件
git add README.md    #添加指定文件名的文件
git add .          #一次性添加所有文件
  • 保存仓库的历史记录
git commit -m "添加一句你想要说的话"
git commit    #添加多行说明,第一行简述、第二行空格、第三行详细内容
git commit -am    #也可以添加文件的同时提交历史纪录
git commit --amend    #修改上一条提交的消息
  • 查看提交日志
git log
git log --pretty=short    #只显示第一行
git log README.md    #只显示指定目录或文件
git log -p        #显示文件的改动
git log --graph    #以图标的方式查看分支
  • 查看文件前后的区别
git diff
git diff HEAD    #查看工作树和HEAD指向提交的差别

分支操作

  • 查看、创建、删除分支
git branch
git branch -a        #同时显示本都and远程的仓库信息
git branch 分支名    #创建分支
git branch -b 分支名    #删除分支
  • 切换分支
    对分支进行提交称为培育分支
git checkout 分支名
git checkout -b 分支名    #创建并切换分支
git checkout -        #返回上一个分支
git checkout 文件名.后缀    #切换到最初的版本
  • 合并分支
git merge 需合并的分支名        #将需要合并的分支合并到当前分支
git merge --no-ff 需合并的分支名    #在历史记录中明确记录本次分支合并需加上--no-ff
  • 压缩历史
    在合并分支之前如果发现有拼写错误,修改后又不想占用历史提交记录的可选择压缩
#选定当前分支中包含HEAD在内的两个最新的历史纪录将要删除记录的pick改为fixup
git rebase -i HEAD~2    

#可以创建更线性的提交历史,就是可与把分支的工作合并到主分支上
#合并之后的分支在主分支的最顶端
#想要更新可以使用(git rebase 分支名)命令
git rebase master    #讲当前分支合并到master分支
  • 回溯历史版本
git reset --head 哈希值    #哈希值通过日志查出
git reset --hard HEAD~1  
git revert 哈希值前几位

远程仓库

  • 添加远程仓库,将本地项目与远程关联。
#将远程仓库的名称(git@github.com:用户名/项目名.git)设置为origin(标识符)
git remote add origin git@github.com:用户名/项目名.git
  • 推送至远程仓库
    -u在推送的同时将origin仓库的master分支设置为本地仓库当前分支的upstream(上游)
git push    #将当前的分支提交上去
#第四个参数可写成 (本地仓库名:远程仓库名) 的形式,一致情况下写一个
git push 远程仓库名 分支名或者tag名    #(例:git push origin master)
git push -u origin 分支名    #推送至mster以外的分支
git push origin :远程分支名    #删除远程分支
  • 从远程仓库获取
#自动将origin设置成该远程仓库的标识符
git clone git@github.com:用户名/项目名.git
git checkout -b 分支名 origin/分支名    #获取远程的分支
  • 获取最新的远程仓库分支
git pull    #因为你不知道你本地的代码是否是新的,所以push前最好先pull
  • 忽略文件
    创建项目时选中.gitignore模板,格式为
# 注释
* 忽略的文件

方便人类的操作

首先Git有一个叫做git config的工具,专门用来配置或读取相应的工作环境变量,这些变量存放在三个文件中。

  • /etc/gitconfig
    面向系统中所有的用户,存放路径为Git的安装路径 ,不过我并没有找到。
    命令调用前缀:git config --system

  • ~/.gitconfig
    面向当前用户,存放路径为 c盘/用户/用户名/.gitconfig
    命令调用前缀:git config --global

  • 项目当前目录下的.git/config
    面向当前项目,存放路径.git/config
    在含有相同配置信息的情况下优先级秒杀前两个(每一级别相同的配置会覆盖上一级别)
    命令调用前缀:git config(比如某个项目中使用其他名字或者邮箱)

  • 配置代码

git config --global color.status    #查看状态时高亮显示
git config --global color.branch    #分支名高亮显示
git config --global color.ui auto    #自动高亮
git config --global 
  • 命令的别名配置
git config --global alias.新名字 原始命令
#例:git config --global alias.st status
  • 为正式版本打一个标签
git tag -a v1.0 -m "每个正式版最好都打一个标签"
git tag    #查看当前项目的所有标签
git tag -d 标签名    #删除对应的标签
git tag show 标签名    #查看当前分支的具体信息

文件的基础操作

  • 创建文件夹
mkdir 文件名
  • 创建文件
touch 文件名.后缀
  • 进入文件夹
cd 文件名
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,585评论 18 139
  • 以下内容是我在学习和研究Git时,对Git操作的特性、重点和注意事项的提取、精练和总结,可以做为Git操作的字典,...
    科研者阅读 4,078评论 4 50
  • 如若有机会,一定要一起去看更多的风景,体验更多的风土人情,享受更多的美食,将生活过在路上! 我会学很多道菜,每天都...
    世福阅读 316评论 0 1
  • 一个偶然的契机 让我们又重新聚在一起 儿时形影不离的小伙伴们 穿过二十年漫长的岁月 ...
    一剪芳踪阅读 319评论 5 6