随笔—git的基本命令

git是一个非常优秀的版本控制系统,可以对各类大小的项目进行源代码管理,

 #git的常用功能如下:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在本地仓库上根据不同的开发目的,创建分支,修改代码。
3、在本机上向自己创建的分支上提交代码。
4、在本机上合并分支。
5、将本地仓库代码和分支推送到服务器上的远程仓库

在官网下载最新版的git软件,官网地址https://git-scm.com/downloads,本文以Windows下git使用为例,服务器端为已经安装完成的Gitlab,此处仅为演示git的相关命令的用法。

  安装完成后,鼠标右键菜单会出现Git GIT和Git Bash 选项,在本地仓库目录选择Git Bash here,打开git命令窗口。

gitbash.png

1、初始化本地仓库,使用git init命令初始化本地仓库,初始化会在本地目录内新建一个.git目录

$ pwd         #查看本地工作路径
/e/train
$ git init   #初始化仓库
Initialized empty Git repository in E:/train/.git/

2、克隆服务器仓库至本地

$ git clone ssh://****.****.com/train.git
Cloning into 'train'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
Checking connectivity... done.

3、将文件新增至暂存区

如果当前目录下有新增的文件,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪并放入暂时存区,然后提交

git add helloworld.html

4、此时检查当前工作状态可看到有文件待提交;如使用git reset HEAD命令,可将文件拉回未暂时存区,再次查看状态时,文件名变红色

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
        new file:   helloworld.html

5、提交新增文件到本地仓库

git commit -m 'helloworld.html'

6、推送本地文件到远程仓库:git push

Administrator@Patrick MINGW64 /e/train/test1.0 (master)   #最后的master表示当前处于master分支
$ git push -u origin master    #master表示推送的是本地master分支  
Counting objects: 6, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 606 bytes | 0 bytes/s, done.
Total 6 (delta 0), reused 0 (delta 0)
To http://*****/Test1.0.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

7、查看分支状态:git branch。前带*的为当前分支

$ git branch    #目前只有master一个分支
* master

8、新建分支

Administrator@Patrick MINGW64 /e/train/test1.0 (master)
$ git branch train        #新建train的支支
Administrator@Patrick MINGW64 /e/train/test1.0 (master)
$ git branch              #查看分支状态,现在已经有两个分支了,当前分支仍然是master
* master
  train

9、切换当前分支git checkout

Administrator@Patrick MINGW64 /e/train/test1.0 (master)
$ git checkout train             #切换到train分支
Switched to branch 'train'
Administrator@Patrick MINGW64 /e/train/test1.0 (train)
$ git branch                  #查看分支,train已经变成了当前分支
  master
*  train

10、远程仓库配置:git remote add git_path

$  git remote add ssh://****.****.com/train.git

11、查看远程仓库信息 git remote -v

$ git remote -v
origin   ssh://*****.com/train.git

原创文章,作者:N21-沉舟,如若转载,请注明出处:http://www.178linux.com/21166

(0)
N21-沉舟N21-沉舟
上一篇 2016-07-04 11:29
下一篇 2016-07-04 11:30

相关推荐

  • Linux磁盘分区创建及bash 简单应用

    1、创建一个10G分区,并格式为ext4文件系统; (1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl; (2)挂载至/data/mydata目录,要求挂载是禁止程序自动运行,并且更新文件的访问时间戳; [root@danry ~]# fdisk /dev/sdb Welcome to fdisk (util…

    2017-09-11
  • 马哥教育网络班21期第5周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; # grep '^[[:space:]]\+' /boot/grub2/grub.cfg 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; # grep…

    Linux干货 2016-08-05
  • Linux用户和组的相关管理命令(一、用户的相关命令)

    Linux是一个可以实现多用户登录的操作系统,通过su – 用户名 可以进行用户之间的切换,从而完成不同登录用户下对私有文件的操作,同时,每个用户有且只有一个主组,但是可以有零个或多个附加组,每个组可以是一个用户的主组,同时还可以是多个用户的附加组。因此,熟练掌握用户和组的相关命令十分重要。 首先,要了解用户和组的配置文件各有两个: 与用户相关的…

    2017-07-22
  • 解决Redis 延迟故障

    前一段时间redis客户端在使用php connect 连接redis 的经常报一个redis server went away 等信息。 首先想到的想到的是reids超时设置的问题,timeout、tcp-keepalive、以及php的default_socket_timeout时间  127.0.0.1:6381> CONFI…

    Linux干货 2016-02-14
  • vsftpd基于mysql存储认证(centos7)

    (1)首先开发包组和服务器平平台开发包组 (2)yum安装需要的依赖包 (3)编译安装pam_mysql模块 (4)配置mysql,并添加mysql中的vsftpd进程用户,且创建vsftpd数据库,并将vsftpd数据库授权给vsftpd用户,且创建vsftpd.users表,并在表中添加用户tom (5)创建vsftpd要上传和下载的URL (6)创建基…

    Linux干货 2016-10-15
  • LVM应用概要

    LVM — 即Logical Volume  Manager(逻辑卷管理管理),是Linux的一种磁盘管理机制。 LVM可以将物理磁盘以PV(Physical Volume)为单位抽象成VG(Volume Group)。在VG中,最小存储单元是一个PE(Physical Extent)。在VG的基础上再抽象一层,划分出LV(Logical Vol…

    2017-11-28