git 指令记录
由于之前一直用svn 用git也是用图形化的工具 还是要了解一下git指令
因为都是版本控制工具 有很多相似之处 所以理解起来也比较轻松
- 仓库: github上面的项目
- 工作目录下面的所有文件都不外乎这两种状态:++1. 已跟踪 2. 未跟踪++
- git 有一个暂存区(staged area), 即跟踪区。 在暂存区的文件都是被跟踪状态的,所有准备好要提交的文件才放到暂存区 提交的时候不是直接从本地提交 而是把暂存区的文件全部提交上去
初始化新仓库
$ git init从现有仓库中克隆
$ git clone [url]
检查当前文件状态
$ git status例子1:
$ git status
On branch master
nothing to commit, working directory clean
clean : 所有已跟踪文件在上次提交后都未被更改过
当前目录下没有出现任何处于未跟踪的新文件,否则 Git 会在这里列出来
master : 当前所在的分支名称
如果在当前目录下新建一个文件 会在 Untracked files 下面显示 表明此为未跟踪文件
$ vim README
$ git status
On branch master
Untracked files: <!--未跟踪文件-->
(use "git add <file>..." to include in what will be committed) README nothing added to commit but untracked files present (use "git add" to track)
跟踪文件
跟踪新文件
$ git add 新建的文件
跟踪原有的修改的文件
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage) <!--git reset HEAD <file>:撤销add--> new file: README Changes not staged for commit: <!--本地有之前追踪的文件修改了 没有放到暂存区-->
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory) <!--git checkout -- <file>:回到修改之前的版本--> modified: benchmarks.rb
Changes not staged for commit: 说明已跟踪文件的内容发生了变化,但还没有放到暂存区。要暂存这次更新,需要运行 git add benchmarks.rb 命令
git reset HEAD : 撤销add 撤销追踪状态
git checkout -- : 撤销修改 回到修改之前的版本。这条命令有些危险,所有对文件的修改都没有了,因为我们刚刚把之前版本的文件复制过来重写了此文件。所以在用这条命令前,请务必确定真的不再需要保留刚才的修改。如果只是想回退版本,同时保留刚才的修改以便将来继续工作,可以用下章介绍的 stashing 和分支来处理
把修改的部分假如到暂存区 准备提交
$ git add benchmarks.rb
$ git status
On branch master
Changes to be committed: <!--此时本地文件已经全部在暂存区 已经准备好可以提交了-->
(use "git reset HEAD <file>..." to unstage) new file: README
modified: benchmarks.rb
Changes to be committed:全部在暂存区 已经准备好可以提交了
如果再次 vim ++二次修改++,然后再看看 status:
$ vim benchmarks.rb
$ git status
On branch master
Changes to be committed: <!--commit 只会提交这部分文件-->
(use "git reset HEAD <file>..." to unstage) new file: README
modified: benchmarks.rb <!--第一次修改已经加到缓存区的文件--> Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory) modified: benchmarks.rb <!--二次修改没有加到缓存区的文件-->
如果此时提交的话 提交的是上面的第一次修改的文件 二次修改的文件不会被提交 想要二次修改的被提交要再次执行add指令
++所以 全部文件修改了之后才去 add, 尽量避免 add 过 文件之后又再修改文件了++
要忽略掉的文件
始终都不要追踪的文件 创建 .gitignore 文件
# 此为注释 – 将被 Git 忽略
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/**/*.txt # 忽略 doc/ 目录下所有扩展名为 txt 的文件
暂时记录到这里 有时间再继续整理
参考:
git 指令记录的更多相关文章
- 常用git指令记录
Generating an SSH key Checking for existing SSH keys Generating a new SSH key and adding it to the s ...
- 工作中常用Git指令操作
常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...
- Git学习记录 力做全网最强入门教程
目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...
- git指令-未完待更新
git指令 1. $ git config --global user.name "Your Name" $ git config --global user.email &quo ...
- git 学习记录—— git 中的仓库、文件状态、修改和提交操作等
最近开始学习使用版本控制工具 git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...
- git 指令笔记
狂躁,太狂躁!!赶上过年,赶上自己的懒癌,12月底就学完的教程直到今天才整理笔记,中途沉默在游戏中..... 只给出Windows下git指令操作,推荐大家去廖雪峰前辈那里学习(百度搜索:廖雪峰的官方 ...
- git指令-版本回退
git指令-版本回退 回顾: 1. 修改文件 2. 添加到暂存区并提交 回顾对readme共三次修改: 1. 版本1:wrote a readme file Git is a version cont ...
- 日常学习用到的Git指令
Git 常用Git指令 (本地) git init - 将文件夹初始化为Git仓库 git add - 将工作区的指定文件放入暂存区 git status - 查看工作区和暂存区的状态 git com ...
- linux下history命令显示历史指令记录的使用方法
Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中.默认保存1000条,你也可以更改这个值 ...
随机推荐
- SpringBoot2.0 基础案例(08):集成Redis数据库,实现缓存管理
一.Redis简介 Spring Boot中除了对常用的关系型数据库提供了优秀的自动化支持之外,对于很多NoSQL数据库一样提供了自动化配置的支持,包括:Redis, MongoDB, Elastic ...
- 解决sublime text无法安装插件问题
解决sublime text无法安装插件问题最近在sublime text3中使用命令ctrl+shift+p命令安装插件发现不能安装了,一会儿报错 这个错误表示没有可用的安装包,经过一番探索发现是配 ...
- Js 实现全屏
<input id="Button1" type="button" value="开始全屏" onclick="kaishi ...
- 2017"百度之星"程序设计大赛 - 初赛(B)小小粉丝度度熊
Problem Description 度度熊喜欢着喵哈哈村的大明星——星星小姐. 为什么度度熊会喜欢星星小姐呢? 首先星星小姐笑起来非常动人,其次星星小姐唱歌也非常好听. 但这都不是最重要的,最重要 ...
- python 5 条件判断
条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= ...
- shell 发送Post请求,并获取状态码
#!/bin/bash aa=$ result=$(curl -H "Content-type: application/json" -X POST -o /dev/null -s ...
- Codeforces Round #378 (Div. 2) D. Kostya the Sculptor 分组 + 贪心
http://codeforces.com/contest/733/problem/D 给定n个长方体,然后每个长方体都能选择任何一个面,去和其他长方体接在一起,也可以自己一个,要求使得新的长方体的最 ...
- Exception in thread "main" java.lang.UnsupportedClassVersionError: com/google/common/base/Function : Unsupported major.minor version 52.0的解决办法(图文详解)
不多说,直接上干货! 问题详情 Exception in thread "main" java.lang.UnsupportedClassVersionError: com/goo ...
- ci框架数据库相关函数
返回查询影响的记录数 $res = $this->db->get_where('wx_life',array('id'=>$id)); $num = $res->num_row ...
- HTTP状态码完整版
HTTP 状态代码的完整列表 1xx(临时响应) 用于表示临时响应并需要请求者执行操作才能继续的状态代码. 代码 说明 100(继续) 请求者应当继续提出请求.服务器返回此代码则意味着,服务器已收 ...