美文网首页
Git命令备忘录

Git命令备忘录

作者: 午觉不眠Orz | 来源:发表于2018-08-06 00:51 被阅读0次

1. 安装和初始化设置

git config --global name "your name"
git config --global email "your email"

2.创建版本库repository

windows上打开git bash
cd 目录
git init # 生成一个空的repository版本库。此时目录中,已有文件,尚未加入版本库中,通过git add .添加到暂存区,git commit -m "提交信息",将文件添加入版本库中。

3.版本回退

git reset --hard head^^^ # 回退三次
git reset --hard 版本号id # 回退到具体版本号

4.查看历史

git log # 查看commit提交历史
git reflog # 查看所有命令历史

5. 工作区,暂存区,版本库,提交修改。

工作区,暂存区,版本库

git add file # 将文件的修改信息,从工作区保存到暂存区中。
git commit -m "备注信息" # 将暂存区中数据,保存到版本库中。

6. 撤销修改

git checkout -- file # 将工作区资料,撤销修改到最近一次git add或者git commit的状态。注意checkout命令也是分支管理命令,所以--是必须的参数。

PS:

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

7.删除文件

不执行git rm file命令,则不会将文件从版本库中删除,你仍然可用git checkout -- file命令恢复文件。

8.远程仓库管理

1)添加远程仓库
git remote add origin 你的远程仓库地址 # 一般来说,origin是Git默认叫法,一眼就知道是远程仓库,方便后续使用。但是你也可以改名。
ps:理解法,git remote远程仓库 add 一个叫做origin的远程仓库,地址为xxxx。
2)从远程仓库克隆到本地
git clone 你的远程仓库地址
ps:目前常见github管理平台,常见的远程仓库地址的写法有两种,一种是git@github.com:用户名/你的仓库名.git;另一种是https的写法。两种均可,一般推荐git,因为使用ssh协议,一来传输速度更快,二来安全性增加。
3)推送远程仓库
git push origin master
4)拉取远程仓库更新
git pull orgin master

9.分支管理

首先理解一张图,三个概念。head指针,master和dev分支指针, 版本内容。
head 指向 分支指针,再指向具体版本内容。


分支概念图

1)创建,切换,删除分支。
git branch 分支 # 创建分支
git checkout 分支 # 切换分支,即head指针切换指向另一分支指针。
git checkout -b 分支 # 创建+切换分支的合并命令。

2)查看分支
git branch; # 查看分支。如下图所示,*表示当前分支

$ git branch
   master
   * test

3)合并分支
git merge 分支名; # 将分支合并到当前所在分支上。

4)删除分支
git branch -d 分支名

5)解决分支冲突
首先,merge:
git branch; # 查看当前分支
git merge 你想合并的分支 # 合并到当前分支
接着,修改工作区文件内容。例如test.txt文件中出现:

<<<<<<< HEAD
a master change;
=======
It is a test;
>>>>>>> test

最后,提交改变,解决冲突。
git add test.txt # 手工修改冲突,并提交暂存区
git commit -m "conflict fixed" # 解决冲突。
git log --graph; # 查看分支图形记录。
git log --graph --pretty=oneline --abbrev-commit; # 优化图示法

6)分支合并策略
git merge dev # 默认采用fast-forward模式。

* ba1daa2 (head->master,dev) add merge
*   bdb7f79 conflict fixed

git merge --no-ff -m "merge with no-ff" dev # 指定采用no-off模式。

*   bdb7f79 (head->master) add with no-off
|\
| * b2f2d77 (dev) add merge
|/
* bdb7f79 conflict fixed

ps:可以看出,fast-forward模式,无法看出分支信息,在commit(conflict fixed)之后,只有一个commit提交信息;而no-off模式,则可以看出分支信息,并且多了一次commit提交信息。

7)团队协作与分支管理策略
git remote; # 查看所有远程仓库信息。
git remote -v; # 查看所有远程仓库更详细的信息。

git push origin master; # 推送master分支
git push origin dev; # 推送dev分支。

git checkout -b dev origin/dev

分支管理策略:
master作为稳定版本,仅用于发布新版本。(ps:git tag命令)
dev,作为开发版,所有人员在此版本上协作,每个人都有自己的本地dev分支,不时的合并到远程dev分支就对了。
feature分支:每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。
bug分支:
注意bug分支是在哪里修复,例如修复到master分支上,还是修复到dev分支上,最后稳定版才发布。
ps:关于bug分支,如果你接到bug修复任务的同时,还在处理dev开发任务到一半,提交不合适,建议用git stash命令保存修改。

请记住以下四个stash命令。
git stash; # 保存分支的工作区状态,保存在栈中
git stash list; # 显示栈中所有信息
git stash pop; # 恢复最后入栈的工作区状态
git stash apply stash@{0}; # 恢复指定的工作区状态。

10.标签管理与作用

1)新建标签
git tag 标签名; # 在当前分支的最近一次提交commit打标签
git tag 标签名 指定的commitid; # 在指定的提交commitid上打标签。

2)查看标签
git tag;# 查看所有标签
git tag show [tagname]; # 查看某个标签的详细信息。
git tag -a 标签名 -m "备注信息" [commitid]; # 给某个标签附加备注信息。

3)删除标签
git tag -d 标签名;

4)标签的远程同步
git push origin <tagname>; # 同步某个标签
git push origin --tags; # 同步所有标签
git push origin :refs/tag/tagname; # 同步删除一个标签。

11.其他

1)忽略文件
请使用.gitignore文件来忽略,更多细节请baidu,较为少用的东西。

2)搭建git服务器

1.首先安装git,
sudo apt-get install git
2.创建git用户,并设定权限,
sudo adduser git
vi /etc/passwd
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
3.收集证书
收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
4.创建裸仓库
先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:
git init --bare sample.git
sudo chown -R git:git sample.git
5.同步使用仓库
git clone git@你的私有仓库ip地址:/srv/sample.git
接着你懂得用的。

相关文章

  • Git 备忘录

    Git 备忘录 -- Git 查看记录 一行展示log日志 查看命令历史 Git 回退 从本地仓库撤销(使用了gi...

  • Git 常用命令及方法备忘录

    Git 常用命令及方法备忘录 WorkSpace: 工作区Index / Stage: 暂存区Repository...

  • Git命令备忘录

    前言 Git在平时的开发中经常使用,整理Git使用全面的梳理。 基本内容 开始之前 请自行准备好Git工具以及配置...

  • Git命令备忘录

    1. 安装和初始化设置 git config --global name "your name"git confi...

  • git命令备忘录

    初始化git . git init 初始化一个git resposity git add 添加到暂存区(红色表...

  • Git命令备忘录

    初始化仓库 配置用户目录下.gitconfig .gitconfig 创建仓库 创建仓库 添加文件到仓库 新建文件...

  • Git命令备忘录

    1、git将文件添加到.gitignore文件中不生效? 原因:在加入.gitignore前该文件已经被追踪。gi...

  • Git命令备忘录

    Git学习笔记 1.Git简介 1.1 Git产生历史 很多人都知道,Linus在1991年创建了开源的Linux...

  • github 学习

    以前学过一次,现在忘了,这里做个笔记,就当备忘录了 完整的github原理, git命令介绍见: https://...

  • Git 常用命令梳理

    结合自己的开发实践,梳理常用操作命令。用于后续的参考(做备忘录) Git 安装 OS : Ubuntu 16.0....

网友评论

      本文标题:Git命令备忘录

      本文链接:https://www.haomeiwen.com/subject/ijfyvftx.html