Git基本用法

Git 入门

 默认linux自带Git , 可以进行更新。

1
yum install git -y #安装git 
1
git config 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[root@zzuxyj7 ~]# git config 
用法:git config [选项]

配置文件位置
--global 使用全局配置文件
--system 使用系统级配置文件
--local 使用版本库级配置文件
-f, --file <文件> 使用指定的配置文件
--blob <blob-id> read config from given blob object

操作
--get 获取值:name [value-regex]
--get-all 获得所有的值:key [value-regex]
--get-regexp 根据正则表达式获得值:name-regex [value-regex]
--replace-all 替换所有匹配的变量:name value [value_regex]
--add 添加一个新的变量:name value
--unset 删除一个变量:name [value-regex]
--unset-all 删除所有匹配项:name [value-regex]
--rename-section 重命名小节:old-name new-name
--remove-section 删除一个小节:name
-l, --list 列出所有
-e, --edit 打开一个编辑器
--get-color <slot> 找到配置的颜色:[默认]
--get-colorbool <slot>
找到颜色设置:[stdout-is-tty]
类型
--bool 值是 "true""false"
--int 值是十进制数
--bool-or-int 值是 --bool or --int
--path 值是一个路径(文件或目录名)

其它
-z, --null 终止值是NUL字节
--includes 查询时参照 include 指令递归查找

第一步 首先配置Git的本地用户信息,用于提交到本地仓库认证,否则不予提交

  • 配置是哪个用户使用git
1
2
3
4
5
[root@zzuxyj7 ~]# git config --global user.email "aayxyj@163.com"

[root@zzuxyj7 ~]# git config --global user.name "zzuxyj"

[root@zzuxyj7 ~]# git config --global color.ui true //高亮
1
2
3
4
5
6
7
8
9
10
[root@zzuxyj7 ~]# git config --list
user.name=zzuxyj
user.email=aayxyj@163.com
color.ui=true
[root@zzuxyj7 ~]# cat .gitconfig
[user]
name = zzuxyj
email = aayxyj@163.com
[color]
ui = true

第二步 创建文件夹并进行初始化,该目录即为本地仓库

  • 创建本地仓库
    1
    2
    3
    mkdir gitdata #创建目录
    cd gitdata #进入目录
    git init #初始化仓库 初始化空的 Git 版本库于 /root/gitdata/.git/
  • 本地仓库信息
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    隐藏文件介绍︰
    branches # 分支目录
    config# 定义项目特有的配置选项
    description# 仅供git web程序使用
    HEAD #指示当前的分支
    hooks # 包含git钩子文件
    info #包含一个全局排除文件(exclude文件)
    objects # 存放所有数据内容,有info和pack两个子文件夹
    refrs # 存放指向数据(分支)的提交对象的指针
    index #保存暂存区信息,在执行git init的时候,这个文件还没有
  • 查看初始的git版本库的结构
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    [root@zzuxyj7 gitdata]# tree .git/
    .git/
    ├── branches
    ├── config
    ├── description
    ├── HEAD
    ├── hooks
    │   ├── applypatch-msg.sample
    │   ├── commit-msg.sample
    │   ├── post-update.sample
    │   ├── pre-applypatch.sample
    │   ├── pre-commit.sample
    │   ├── prepare-commit-msg.sample
    │   ├── pre-push.sample
    │   ├── pre-rebase.sample
    │   └── update.sample
    ├── info
    │   └── exclude
    ├── objects
    │   ├── info
    │   └── pack
    └── refs
    ├── heads
    └── tags

    第三步 开始进行代码或文件的CURD操作

  • 提交为空,但是存在尚未跟踪的文件(使用 “git add” 建立跟踪)
    1
    2
    [root@zzuxyj7 gitdata]# git add 1.go  #跟踪
    [root@zzuxyj7 gitdata]# git status #查看git仓库的状态,可以看到跟踪的文件
  • 提交跟踪文件后,需要删除时候
    1
    2
    3
    [root@zzuxyj7 gitdata]# git rm 1.go   #删除跟踪
    rm '1.go'
    [root@zzuxyj7 gitdata]# git status #查看git仓库的状态,文件已经被删除
  • 建立文件跟踪后,如果需要提交到本地仓库还是需要进行commit提交才可以到本地仓库
    1
    2
    3
    4
    [root@zzuxyj7 gitdata]# git commit -m "Test"
    [master(根提交) b58f049] Test
    1 file changed, 0 insertions(+), 0 deletions(-)
    create mode 100644 1.go

    注 :常用的git命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    1.git init#初始化仓库把一个目录初始化为版本仓库〈可以是空的目录也可以是带内容的目录)
    2.git status#查看当前仓库的状态
    3.git add file#添加文件到暂存区
    4.git add .或者git add * #添加当前所有的文件到暂存区
    5.git rm --cached#撤出暂存区
    6.git rm -f#同时删除工作目录和暂存区的文件
    7.git commit -m#从缓存区提交到本地仓库
    8.git mv old-filename new-filename#直接更改文件名称更改完直接commit提交即可
    9.git diff#默认比对工作目录和暂存区有什么不同
    10.git diff --cached #比对暂存区域和本地仓库
    11.#如果某个文件已经被仓库管理,如果在更改此文件直接需要一条命令提交即可
    git commit -am "add newfile"
    12.git log#查看历史提交过的信息
    -p #查看具体的改动
    -1#查看最近一次
    13.git reset --hard 295e997 #回滚数据到某一个提交
    14.git log --oneline --decorate#查看当前指针的指向
    15.git log --reflog #查看所有镜像
    15.git branch#查看分支 * 号在那就在那个分支上
    16.git branch testing#创建一个测试分支
    17.git checkout testing#切换到测试分支
    18.git checkout -b testing#创建并切换到testing分支
    19.git tag#打标签
    -d删除标签
    git tag -d v1.0 #删除标签
    git tag -a "v2.0" -m "xxx" #打标签
    git show v1.0 #查看版本信息

    20.git remote add origin git@github.com:ayxyj/ayxyj.github.io.git //添加远程仓库

    git remote #查看远程仓库

    21.git clone url

    标签也是指向了一次commit提交,是一个里程碑式的标签,回滚打标签直接加标签号,不需要加唯一字符串不好记
    [root@git git_data]# git tag -a v1.0 -m "aaa bbb master tesing version v1.0”# -a指定标签名字 -m指定说明文字
    [root@git git_data]# git tagv1.0
    [root@git git_data]# git tag -a v2.0 dbead4c -m "add bbb version v2.0" #指定某一次的提交
    为标签
    [root@git git_data]# git show v1.0 #查看v1.0的信息git show加标签查看
    [root@git git_data]# git reset --hard v2.0#直接还原数据到v2.0

最后如何把本地仓库推送到远程仓库步骤:

  • 第一种方式每次手动写远程仓库地址

  • 1.首先先把本地代码提交到本地仓库

    1
    2
    3
    git add . 
    git commit -m "add file !"
    git commit -am "add file !"
  • 2.其次再把本地仓库的代码提交到远程仓库上

    1
    2
    3
    git remote add gocode git@github.com:ayxyj/ayxyj.github.io.git  #添加远程仓库
    git push -u gocode master #第一次提交到远程仓库的master分支上
    git push gocode master #之后提交
  • 3.删除本地分支和远程分支

    1
    2
    git branch -d master #删除本地分支、注意删除时候应该切换到其他分支才可以删除分支
    git push gocode --delete master #删除远程仓库下的mater分支
  • 4.合并本地分支和远程分支

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    基本流程
    0.查看远程仓库
    git remote -v

    1.本地创建一个与新分支并且关联远程分支
    git checkout -b dev gocode/dev
    这时 dev 已经和远程的 gocode/dev 一致了。

    同上1.查看到远程有一个叫gocode的仓库,我们可以使用如下命令从gocode远程仓库获取最新版本的代码。
    git fetch origin master:temp
    上面代码的意思是:从远程的gocode仓库的master分支下载到本地,并新建一个temp分支。

    2.查看temp分支与本地原有分支的不同
    git diff temp

    3. 切换回本地的 master 版本
    git checkout master

    4. 将本地的 dev 合并到 master
    git merge dev

    5. 将本地的 master 推到远程
    git push gocode master

    6. 将远程的 dev 版本删除
  • 第二种方式在配置文件中配置远程仓库的地址(需要做ssh认证)

    • 生成ssh公私钥
      1
      2
      ssh-keygen -t rsa -C "aayxyj@163.com"
      cat ~/.ssh/id_rsa.pub #将查看到的公钥在github的个人设置中新建ssh密码填入即可
    • 在配置文件中添加信息
      1
      2
      3
      4
      deploy:
      type: git
      repo: 这里填刚记录的github clone仓库地址
      branch: master #上传到那个分支上
    • 接下来就可以直接push即可
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

请我喝杯咖啡吧~

支付宝
微信