安装Git

Windows:

进入官网下载或百度网盘下载 Git(V2.23_x64)

提取码:uf2x

Ubuntu:

sudo apt-get -install git

安装完成之后打开git命令行(Ubuntu命令行即可操作)

输入以下代码

#查询版本号

git --version

#设置你的姓名(最好是英文)

git config --global user.name “kimalittlestar”

#设置你的邮箱

git config --global user.email “kim_alittlestar@qq.com”

#查看你的姓名、邮箱和所有当前目录下的设置列表

git config --global user.name

git config --global user.email

git config --list

建立本地仓库

从本地建立一个全新的仓库:

#跳转到你的项目根目录下

cd /d/EclipsecCode/C_project/

#初始化一个Git仓库

git init

#添加追踪规则,这里添加的规则是 该目录下所有的*.c/.h文件

git add *.c *.h ./**/*.c ./**/*.h

#查看仓库当前的状态

git status

#编写 .gitignore 忽视特定类型的文件

vim .gitignore

#写入以下文本

*.[oad]

#查看当前仓库状态

git status

#提交当前代码 可以使用两种方式

git commit -m “type your commit message“

#或者不带参数,等待他打开默认便捷器输入提交信息文本

git commit

从远程克隆一个仓库:

#跳转到你想要存储的目录下

cd /d/EclipsecCode/robam

#使用克隆命令,期间如果需要输入密码请输入密码

git clone https://github.com/KimAlittleStar/C_project.git

#输入ls 查看文件目录,发现多了一个文件夹C_project

ls

#clone 远程仓库到此结束 到此结束

基本操作

查看文件状态:

#在git中,除去已经忽略了的文件外,文件分为4种状态。

分别为:未追踪、未修改、已修改、已暂存。使用 git

status 查看项目中文件的状态

git status

文件状态装换流程 :

#未追踪->(git add <filename>)->已暂存
#已暂存->(git commit)->未修改 #未修改->(edit your file)->已修改 #未修改->(git remove )->未追踪 #已修改->(git commit -a)->已暂存

  

查看文件更改 diff 命令:

#查看项目中 已修改状态文件项目与该文件最后一次暂存的文件具体更改了哪些地方,可以使用git diff 命令操作

git diff

#如果想要看已暂存的文件和已经在版本库中的文件差异,可以使用 git diff –staged

git diff -staged

#diff还可以查看指定分支、指定文件之间的差异,更多操作请跳转:http://gitbook.liuhui998.com/index.html

提交更新到仓库:

#git commit 只会提交staged 状态的文件,使用git status查看 仓库中文件状态。将modified 状态的文件使用 $ git add 改成成为modified状态 然后提交。

git status

git add <filename>

git commit –m “message”

#使用 git commit –a 可以将所有追踪内的modified 状态和staged状态的文件一次提交。

git commit –a –m “this is all commit test”

查看仓库操作历史:

# 使用git log 可以查看当前仓库操作的历史

git log

#同时你也可以使用 git log –p 来内容上的差异

git log –p

#同时也可以使用git log -<n> -p 来显示最近n次内容上的差异。去掉 -p参数同理。更多使用请参阅:https://git-scm.com/book/en/v2

git log - -p

仓库取消追踪某个文件:

#使用git rm 删除某个追踪文件,或者在磁盘上删除,然后使用 git status 就可以看到删除命令在已修改区域,然后在使用git rm 即可提交。或者使用 git commit –a 提交所有改变

为项目添加远程仓库:

# 首先需要在远程仓库有一个你的目标远程仓库,其次获取你的远程仓库url 。输入以下代码 git remote add <别名> [URL]

git remote add kimhttps://github.com/KimAlittleStar/C_project.git

上传到远程仓库:

#使用git push 推送到远程仓库 git push <别名> <分支名>

git push kim master

覆盖上一次commit:

#使用git commit --amend 可以覆盖上一次提交, 用于自己错误信息的修改、忘记加入暂存区的文件等,最后git仓库中只会有一个commit

git commit

git add <filename>

git commit --amend

将暂存态的文件回退到已修改:

#将暂存态的文件回退到已修改需要使用git reset HEAD <filename> 此语句原理实际上是使用仓库中的 <filename>文件覆盖暂存态的文件。详情请参考 https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified

git reset HEAD -- <filename>

抛弃此次修改的文件:

#使用git checkout -- <filename>可以撤销此次对文件的修改。但是此次修改将会被真正丢弃。再也找不到。原理请参考:https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified

git checkout -- <filename>

 
为自己的项目添加标签 tag:

#使用git tag –a <tagName>–m ‘tag message’可以为当前版本添加标签 如果想要添加tag到之前的版本,需要在后面增加 对应版本号的校验码

git tag -a v0. -m "using tag test“

#除此之外还可以覆盖tag 使用 –f 参数 没有附带信息的tag(轻量tag) 不输入任何参数 只输入tag名等,详情请参考:http://gitbook.liuhui998.com/3_7.html

添加别名快捷操作:

#使用git config --global alias.<quickName> ‘actrue str’ 可以添加自定义的快捷操作 ;详情请参考https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-Git-%E5%88%AB%E5%90%8D

git config --global alias.last 'log -1 HEAD'

 
命令行小结

命令行

作用

使用示例

git init

在当前目录下初始化一个新的git仓库

cd <your work directory>

git clone

git clone [URL]

在当前目录下克隆一个git仓库 也可以后面加目录参数 克隆到指定目录

git clone https://code.aliyun.com/lonnox/robam_doc.git

git status

查看当前目录中各个文件和操作的状态;文件状态详情请点击

git status

git add <filename> <filename> …

将当前仓库下的文件状态向上更新,文件状态详情请点击,且支持正则表达式

git add *.c *.h ./**/*.c ./**/*.h

详情参考这里

git rm <filename> <filename> …

删除这些文件,并将此操作提交到暂存状态(staged)

git rm project.out

git commit

提交在暂存态的文件或操作,跳出编辑窗口输入提交信息

git commit

git commit –m ‘message’

提交 并将 ‘message 作为提交信息’

git commit –m “message”

git diff

查看已修改的文件和仓库中此文件的区别,如果后面不指定文件名那么将显示所有文件

git diff <filename>

git diff --staged

查看已暂存的文件与仓库中的区别

git diff --staged <filename>

git remote add  <别名> [URL]

为本地项目添加远程仓库

git remote add kim https://github.com/KimAlittleStar/C_project.git

git push <用户名> <分支名>

将自己本地的项目上传至服务器

git push kim master

git commit --amend

将此次提交与上一次提交合并,只记录一次提交

git commit --amend  -a –m “message”

git reset HEAD -- <filename>

抛弃现在的暂存文件使其回退到已修改状态

git reset HEAD -- Exfunction.c

git checkout HEAD -- <filename>

抛弃此文件的修改

git checkout HEAD -- Exfunction.c

git tag

查看、修改、添加项目的标签

git tag –a v0.1 –m ‘message’

git config --global alias.<quickStr> ‘cmd str’

使用quickStr 等效替换 cmd str,例如一些固定参数的命令等。

git config --global alias.cmit-all 'commit -a'

后记:

经过这几天的学习,越来越感觉到开源社区的奇妙与能量,这群人都有着一种神奇的能量,让人不由自主的佩服和开心起来。了解他们的起源,和他们的思想,越能感受到这群率真的程序员的智慧。

最后把上面的所有内容整理压缩成了一个小PDF文件,里面的两个目录可以点击让大家方便的跳转到相对应的地方,分享给大家。

git基础使用:

链接:https://pan.baidu.com/s/1pkmG0sOjxP8nhNIPw7NWTA
提取码:mzut

Git学习笔记----基础运用的更多相关文章

  1. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  2. GIT学习笔记(5):变基

    GIT学习笔记(5):变基rebase 变基 引入变基 在Git中整合来自不同分支的修改主要有两种方法:merge以及rebase. 整合分支最容易的方法是merge,他会把两个分支的最新快照以及两者 ...

  3. GIT学习笔记(4):远程分支

    GIT学习笔记(4):远程分支 远程分支 远程分支是什么 远程分支是对远程仓库中的分支的索引.它们是一些无法移动的本地分支:只有在GIT进行网络交互时才会更新.远程分支就是书签,提醒着你上次连接远程仓 ...

  4. GIT学习笔记(3):分支管理

    GIT学习笔记(3):分支管理 何谓分支 GIT是如何存储数据的 GIT不是存储文件差异或者变化量,而是一系列文件的快照.在Git提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容 ...

  5. Pro Git 学习笔记

    Pro Git 学习笔记 文档地址:Pro Git原文地址:PRO GIT 学习笔记 git常见命令 1.Git起步 初次运行Git前的配置 用户信息 git config --global user ...

  6. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  7. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  8. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  9. git 学习笔记6--remote & log

    git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...

随机推荐

  1. uC/OS-III 任务详解(四)

    uC/OS系统的任务一般都放在最开始介绍,我放在第四章主要是对模糊的概念作清晰的讲解. 从用户的角度来看,uC/OS-III 中的任务可以分为5 种状态,分别是休眠态.就绪态.运行态.挂起态和中断态, ...

  2. 你真的懂Spring Java Config 吗?Full @Configuration vs lite @Bean mode

    Full @Configuration和lite @Bean mode 是 Spring Java Config 中两个非常有意思的概念. 先来看一下官方文档关于这两者的相关内容: The @Bean ...

  3. JavaScript中闭包的使用和各种继承介绍

    一.什么是闭包?     (1)闭包的概念:a.闭包就是函数嵌套时,让局部变量变成自由变量的环境,是一种让局部变量进化的方式.                 b.定义在一个函数内部的函数.      ...

  4. 一文了解 Redis 内存监控和内存消耗

    Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多.所以,监控 Redis 的内存消耗并了解 Redis 内存模型对高效并长期稳定使用 Redis ...

  5. 一次SSM项目记录

    1.控制台输入 mvn archetype:generate -DgroupId=com.yjdev -DartifactId=myzone -DarchetypeArtifactId=maven-a ...

  6. web前端开发自学路线是怎样的?html+css+JavaScript的学习方法?

    不废话,直接干货 学习前端的几个个阶段: 一阶段:html标签.html5新增标签.css样式.css3样式.媒体查询等 二阶段:JavaScript.jQuery.ajax.面向对象.http传输协 ...

  7. msf之hash攻击

    使用hashdump抓取密码(需要系统管理权限) 另外一个更强大的模块 smart_hashdump 如果目标是win7 就需要先绕过UAC 还可以使用msf内置的mimikatz抓取hash msv ...

  8. 利用ansible书写playbook在华为云上批量配置管理工具自动化安装ceph集群

    首先在华为云上购买搭建ceph集群所需云主机: 然后购买ceph所需存储磁盘 将购买的磁盘挂载到用来搭建ceph的云主机上 在跳板机上安装ansible 查看ansible版本,检验ansible是否 ...

  9. Java中String类的特殊性

    java中特殊的String类型 Java中String是一个特殊的包装类数据有两种创建形式: String s = "abc"; String s = new String(&q ...

  10. 深入理解 Java 中的 final 关键字

    final 是Java 中重要关键字之一,可以应用于类.方法以及变量上.这篇文章中将讲解什么是 final 关键字?将变量.方法和类声明为 final 代表了什么?使用 final 的好处是什么? f ...