文档章节

git版本控制基本命令

木木情深
 木木情深
发布于 2015/03/03 14:13
字数 2039
阅读 33
收藏 0
点赞 0
评论 0

 以下是一位同学对git版本控制的辛苦整理结果,收藏下git版本控制基本命令

        第一部分:Shell常用命令介绍
        第二部分:Git安装及基本配置,Git本地常用命令
        第三部分:SSH使用和配置,Git远程操作
    内容详细:
        第一部分:Shell常用命令
            特殊目录:.(一个点,表示当前目录), ..(两个点,表示上级目录) , ~(表示当前用户的home目录)
            pwd:显示当前你所在的目录
            cd: 改变你所在的目录
                用法:cd  directory,
                            cd  demo,进入到demo目录。 
                            cd ~,进入用户的home目录。
                            cd .. ,进入上级目录。
            ls: 把当前目录下面的文件内容展示出来
                用法:ls  显示当前目录下的非隐藏文件。
                            ls -l  显现当前目录下的非隐藏文件,每行只显示一个文件
                            ls -a 显示当前目录下所有文件(此时结果会有:.,..,以及一些点开头的文件)
            touch:更改文件的修改时间,如果该文件不存在则创建该文件
                用法:touch filename
            mkdir: 创建一个目录
                用法:mkdir directory_name
            rmdir: 删除一个空目录
                用法:rmdir directory_name
            rm: 删除文件
                用法:rm filename,删除指定文件。
                            rm -r directory_name,删除指定文件夹以及它子目录下的所有内容,-r指:recursive
            cp:拷贝文件或文件夹
                用法:cp ori_file dest_file, 将ori_file文件内容拷贝到dest_file文件中,如果当前目录下原来没有dest_file则创建该文件,如果有则覆盖原有的文件
                            cp ori_file ../, 将ori_file文件拷贝到上级目录下
                            cp -r ori_dir_name,  ../, 将ori_dir_name目录及它子目录下面的内容拷贝到上级目录下,在上级目录下会多出一个ori_dir_name的目录
            mv:移动文件或文件夹
                用法:mv ori_file dest_file, 将ori_file文件内容移动到dest_file文件中,在同一个目录下操作效果和重命名等价
                            mv ori_file ../, 将ori_file文件移动到上级目录下,当前目录下的ori_file消失,上级目录下多出ori_file
                            mv ori_dir_name,  des_dir_name, 将ori_dir_name目录移动到des_dir_name目录,效果和重命名文件夹等价
        第二部分:Git配置和本地常用命令
            Git配置有三个级别,它们分别是系统级,用户级和版本库级,对于某个版本库来说配置文件的优先级版本库级别的配置最高,用户级其次,系统级最低。
                 版本库级配置以git config 开头,这个通常用来配置和这个版本库密切相关的信息,如remote
                 用户级配置以git config --global开头,通常用来配置用户姓名,邮箱等
                     例:git config --global user.name "you name"
                             git config --global user.email "you email address"
                             git config --global color.ui true, 让git的输出内容有颜色显示,如果git status,git log, git diff 等会有输出的命令
                 系统级配置以git config --system开头,这个配置文件很少用到
            Git本地命令:
                 git init: 创始化一个版本库,完成之后会在当前目录下生成一个隐藏文件夹.git,所以版本库的信息都在这个目录下面。
                      这种初始化的方式是比较常用的,我们在用git管理自己本地开发项目代码时都使用这种初始化方式。
                 git init --bare: 创建一个裸的版本库,完成之后当前目录想会多出很多文件,这些文件和git init 完成后.git 目录下内容是一致的
                      这种初始化方式通常用在代码管理的服务器上,因为服务器上不需要工作目录,因此裸的版本库就够用了,同时还能节省空间。
                 Git使用中的三个重要概念
                      工作区,暂处区和版本库。
                      工作区:我们编写文件,代码的地方,换种理解就是指非.git目录下的内容
                      暂存区:我们使用git add命令后,存放这些被add过文件地方
                      版本库:我们使用git commit命令后,存放这些被commit文件的地方
                 git add: 工作区内容添加到暂存区
                      用法:git  add  filename,将filename文件添加到暂存区
                                  git  add  directory_name, 将directory_name目录以及其目录下的所有内容添加到暂存区。
                                  git  add -u, 将当前目录及其子目录下被用户修改的且已经在版本库或暂存区中的文件添加到暂存区
                                  git  add .,将当前目录及其子目录下的文件添加到暂存区中,不论文件之前是否在暂存区或版本库中
                git commit:将暂存区的内容添加到版本库中
                      用法:git commit -m "Commit Description", -m 参数后面跟的是本次提交的描述,这个描述需要说明这次发生的更改,比如修复了一个什么样的bug,增加了一个什么样的功能。
                                  git commit -m "Commit Description Title" \
                                       -m "Commit Description1" \
                                       -m "Commit Description2" \
                                       -m "Commit Description3"  用这种方式可以用多行描述了说明这次提交的作用
                                  git commit , 这种方式会打开系统Shell下默认的文本编辑工具,一般情况下是vim或者vi, 我们可以通过文本编辑工具来写这次提交的描述信息。
                git log:查看提交历史
                      用法:git log,显示所有的提交历史,每次提交描述信息详尽
                                  git log --oneline, 显示所有提交历史,但是每个提交指显示一行,一行的内容只包括commit的一个hash值和提交描述内容
                                  git log -数值,显示指定数量的提交,如git log -5,显示5条最近的提交信息
        第三部分:SSH使用和配置,Git远程操作
            SSH使用和配置:
                 用法:ssh username@server_address,例子:ssh git@10.82.81.68
                             ssh 别名,例子: ssh git_sx,别名需要额外配置
                 别名配置文件位置:~/.ssh/config,可以通过系统文本编辑工具或用vim打开这个文件进行编辑
                 配置信息如下:
                         Host 别名
                         Hostname server_address
                         User username
                配置信息例举:
                         Host git_sx
                         Hostname 10.82.81.68
                         User git
            SSH免登陆密码配置:
                     1.进入用户的.ssh目录:cd ~/.ssh
                     2.用ls查看是否已经有id_rsa, id_rsa.pub文件存在,如果已经存在可以新建一个backup目录,并把者两个文件移动到backup目录下区,然后下一步;如果没有直接下一步
                     3.生成私钥/公钥对,使用命令:ssh-keygen -t rsa -C "your email address"
                        3.1. 提示输入一个存法私钥/公钥对的文件名,此处直接按回车键
                        3.2. 提示输入你的私钥,注意这个和帐户登陆服务器密码是可以不一样的
                        3.3. 提示再次输入你的私钥,按回车后私钥/公钥对就会自动生成了。
                    4.生成完成以后,使用ls发现,目录下id_rsa和id_rsa.pub两个文件生成。
                    5.将id_rsa.pub文件拷贝到服务器:scp id_rsa.pub git@10.82.81.68:~/xxx_id_rsa.pub或 scp id_rsa.pub git_sx:~/xxx_id_rsa.pub
                    6.远程登陆到服务器: ssh git@10.82.81.68 或 ssh git_sx
                    7.加自己刚刚上传的公钥内容添加到你登陆帐户的.ssh/authorized_keys文件中: 
                        cat xxx_id_rsa.pub  >>  ~/.ssh/authorized_keys
                    8.退出服务器:exit
                    9.重新远程登陆服务器,发现这次我们是输自己的私钥而不是帐户在服务器上的登陆密码
           Git远程操作:
                    1.在服务器上创建一个裸版本库,
                    2.在本地创建一个版本库,完成一次提交
                    3.为本地的版本配置remote,如果git config remote add originssh://username@server_address/repo_paht
                        username@server_address 可以使用.ssh/config里面配置的别名代替
                    4.将本地版本库内容提交到远程版本库:git push -u origin master:master
                    5.从远程版本库同步代码:git pull
                    6.想远程版本库提交代码:git push
            从服务器其上clone一个版本库:git clone ssh://username@server_address/repo_path
            clone下来的版本库默认就会有一个remote的配置,不需要手动设置了。


本文转载自:http://blog.sina.com.cn/s/blog_79a120e50101jjlf.html

共有 人打赏支持
木木情深
粉丝 37
博文 186
码字总数 26451
作品 0
广州
程序员
Git使用基础

Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分...

zhongtu ⋅ 2013/12/31 ⋅ 0

Git使用基础篇

Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分...

YOTOO ⋅ 2014/08/14 ⋅ 0

版本控制使用git比svn更有优势

Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分...

大道至精 ⋅ 2014/11/13 ⋅ 2

GIT使用基础

Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分...

莫问viva ⋅ 2013/11/25 ⋅ 0

Git---基础(转)

Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版本控制工具可以对开发产生如此之多的影响,文章分为...

hensen_hhc ⋅ 2012/01/29 ⋅ 0

git文章列表

关于gitlab默认clone协议 Git实现从本地添加项目到远程仓库 翻翻git之---一个简单的标签控件 LabelView (随手发了两张小宝宝的玩耍照) Git 项目推荐 | Java 版微信普通号机器人 翻翻git之---...

d_watson ⋅ 2016/04/20 ⋅ 0

Git入门与实践

什么是版本控制 要了解什么是git,首先需要了解什么是版本控制(Version Control), 版本控制系统(Version Control System,简称VCS)是一种记录一个或多个文件的变化的系统,这样的系统能够方...

ttimasdf ⋅ 2013/08/24 ⋅ 0

git_git学习笔记

Ubuntu server 环境,git使用步骤 1,安装:sudo apt-get install git 2,创建仓库: mkdir gittest;cd gittest;git init;/git --bare init 加bare支持远程push 3,git同步 git add filename1git......

skanda ⋅ 2015/03/03 ⋅ 0

GIT学习笔记1--基本使用

感谢linux大鹏的《看日记学git》系列教程 Git 是一个由林纳斯·托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。与常用的版本控制工具 CVS, Subversion 等不同...

flynewton ⋅ 2011/01/27 ⋅ 3

Git 学习记录--- Git 基本介绍、获取git仓库方法、创建分支

一. Git基本介绍 1.1 什么是Git? Git是一个版本控制系统(Version Control System) 1.2 什么是“版本控制系统”? 记录下所有文件的所有版本,可以有效地追踪文件的变化。当代码出错的时候...

薄暮凉年 ⋅ 2015/12/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 42分钟前 ⋅ 0

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】

前言 我是上学期学的汇编,因为有vs又不想用课上教的麻烦的dosbox以及masm32,但是一直没找到高亮插件和能调试的(难在运行不了而找不到答案上,出现的错误在最后放出,还请先达们不吝指点)...

simpower ⋅ 51分钟前 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 54分钟前 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 今天 ⋅ 0

你真的明白RPC 吗?一起来探究 RPC 的实质

你真的明白RPC 吗?一起来探究 RPC 的实质 不论你是科班出身还是半路转行,这么优秀的你一定上过小学语文,那么对扩句和缩句你一定不陌生。缩句就是去除各种修饰提炼出一句话的核心,而不失基...

AI9o後 ⋅ 今天 ⋅ 0

z-index设置失效?

今天碰到了一个问题,就是在给li设置提示框的时候,有用到遮罩效果,本来想把对应的出现在最顶层,可是不管将li设置的z-index值设为多大,li都没有出现在遮罩层之上。 我在网上查了z-index设...

IrisHunag ⋅ 今天 ⋅ 0

CyclicBarrier、CountDownLatch以及Semaphore使用及其原理分析

CyclicBarrier、CountDownLatch以及Semaphore是Java并发包中几个常用的并发组件,这几个组件特点是功能相识很容易混淆。首先我们分别介绍这几个组件的功能然后再通过实例分析和源码分析其中设...

申文波 ⋅ 今天 ⋅ 0

Java对象的序列化与反序列化

Java对象的序列化与反序列化

Cobbage ⋅ 今天 ⋅ 0

Sqoop

1.Sqoop: 《=》 SQL to Hadoop 背景 1)场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢? 1) RDBMS ==> Hadoop(广义) 2) Hadoop ==> RDBMS 2)原来可以通过MapReduce I...

GordonNemo ⋅ 今天 ⋅ 0

全量构建和增量构建的区别

1.全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。 2.全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结...

无精疯 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部