git用法之常用命令

1、git 安装好后,如何配置?

  a: 设置本地用户名、邮箱,很重要!之后的每次提交都会用到这两条信息,说明是谁提交了更新。  

$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]

  这是设置全局的用户名、邮箱。当然如果你要在某个项目单独修改也可以,不加 --global 再在项目单独设置一次就好。

  b: 生成ssh 公钥

ssh-keygen -t rsa -C "邮箱"

  然后根据提示连续回车即可在~/.ssh目录下得到id_rsaid_rsa.pub两个文件,id_rsa.pub文件里存放的就是我们要使用的key。

  c: 上传公钥到github或gitlab

  找到id_rsa.pub复制内容,到github或gitlab个人设置,Add SSH key 后保存,即可。

  d: 可以测试一下,是否配置成功:

ssh -T [email protected]

  如果配置成功,则会显示:

Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.

2、关于 git diff 比较代码异动?

  有以下几种比较方式:

  a: git diff HEAD

    比较当前工作区和上次提交文件的差异。

  b: git diff

    比较当前工作区文件和暂存区文件的差异。

    如果没有暂存区,则跟上面 git diff HEAD 一样,比较的是工作区和上次提交文件的差异。

  c: git diff --staged 或者 git diff --cached

    比较暂存区和上次提交文件的差异。

  d: git diff abc.js

    比较尚未暂存的abc.js文件更新了哪些地方。

  e: git diff --staged/--cached abc.js

    比较暂存区的abc.js文件跟上次提交的abc.js更新了哪些地方。

  f: git diff commit_id1 commit_id2

    比较 commit_id1和commit_id2 两个版本之间的差异,具体的commit_id可以通过 git log 命令查看。

  g: git diff commit_id1:filename commit_id2:filename

    比较 commit_id1和commit_id2 两个版本之间filename文件的差异。

3、reset 和 checkout 的差别:

  reset:当文件加入了 stage 区以后,如果要从stage删除,即退出暂存区。则使用 reset, 此时工作区的文件不做任何修改,如:git reset a.js

     这个命令就是 git stage/add a.js 的反操作。

  checkout: 当文件加入了 stage 区以后,后来又做了一些修改,这时发现后面的修改有问题,想回退到提交到暂存区的状态,使用 checkout 命令:

     git checkout a.js 此时,工作区的内容丢失,之前暂存区和commit的文件不受影响。

4、关于分支,分支是Git最最重要的一个超级核心、好用、有用、牛叉的一个东西!

  git branch xxx  新建xxx分支

  git checkout xxx  切换到xxx分支,注意跟丢弃文件的那个命令差别:git checkout -- a.txt 多一个 --

  git checkout branch xxx   新建并切换到xxx分支,一句话跟上面两句话作用一样,省事!

  git branch -d xxx  删除xxx分支

  git branch -D xxx  强制删除xxx分支,如果xxx分支有修改未提交,用-d是删不掉的,需要用 -D 强制删除

  git push origin :xxx  删除xxx分支,并提交到服务器(删除服务器上的xxx分支)原理:冒号不能省略,本地没有xxx分支,此时push一个空分支,相当于删除服务器上xxx分支

  git branch  查看当前项目所处的分支

  git branch -a  查看当前项目所有分支,当前分支用 * 标记;远程服务器有 而本地没有的分支,会被标红。

  分支如此如此重要,实际工作中,关于分支的使用,应该严格按照以下几个基本原则进行:

1、首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
2、那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
3、你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

5、关于 git reflog

  这个也是很好用的一个东西。比如,现在本地开发,提交了3个commit版本,ID假定为:111,222,333

  此时,我回退到 HEAD ,就是服务器上最后一次提交的那个版本,意味着,这三个commit版本的代码我都没了,git log 也看不到之前3次commit的信息。但如果我又想要回到 222 的commit ID时候的代码,怎么办?

  此时,git reflog 这个超级强大命令,就可以派上用场了,他包含了提交、回退过所有的commit信息。然后找到commit id,通过 git reset --hard commit_id 即可以回退到之前提交的任何一个版本。git reset --hard commit_id 只要你能找到 commit id,他就能给你回退到当时的版本,也超级强大!

6、关于分支合并

  将 master 代码 合并到 dev 分支。切换到master分支后,

    git merge dev   “fast forward” 模式的分支合并

    git merge --no-ff -m "merge with no-ff" dev   合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。建议用这种!

  

时间: 2024-08-08 05:35:16

git用法之常用命令的相关文章

Git 基本原理与常用命令

平时使用过两种版本控制软件 SVN 和 Git,平心而论,如果纯粹自己使用,那么绝对 Git 更加适合,本地库.远程库.离线工作.强大而灵活的分支.大名鼎鼎的Github, 这些都是选择 Git 的原因.记得刚接触时Git,感觉 Git 如此强大,再加上其是由大名鼎鼎的 Linus 所编写,所以花了很多的时间看各种资料,不过后来那些不常用的命令与功能还是仅仅停留在知道与了解的层面.Git 只是一种工具,是为了满足某种需求而被编写出来的一种工具,对于工具做到善加利用即可.当然,要做到善加利用,一定

Git本地库常用命令集

Git本地库常用命令集 以下所有的git命令都是在测试目录/git/下进行的.mkdir /git git init : 初始化git本地库在git本地库目录下执行该命令将会初始化一个git的本地库目录,此时在该目录下将会生成一个.git文件夹,其中包含有git本地库的配置文件及项目文件 git init git config [user.name][user.email] : 设置签名设置签名主要是为了使git能够区分提交代码的人员,其中签名级别又分为: 项目级别/仓库级别 : git con

git的一些常用命令

Git和SVN是我们最常用的版本控制系(Version Control System, VCS),当然,除了这二者之外还有许多其他的VCS,例如早期的CVS等.顾名思义,版本控制系统主要就是控制.协调各个版本的文档内容的一致性,这些文档包括但不限于代码文件.图片文件等等.早期SVN占据了绝大部分市场,而后来随着Git的出现,越来越多的人选择将它作为版本控制工具,社区也越来越强大.相较于SVN,最核心的区别是Git是分布式的VCS,简而言之,每一个你pull下来的Git仓库都是主仓库的一个分布式版

git提交项目常用命令及git分支的用法

1.第一步首先从git托管平台clone项目,我这里就使用idea为例: 填写git的url与存放本地目录名及项目名 2.如果你对项目进行了一些修改,就可以执行git命令,进行提交. 有两种方法: 1.使用idea自带的图形界面进行操作.选中修改过的文件,右键选择git--add添加到本地仓库. 再选择git --commit file进行提交 再进行commit和push,提交到远程仓库 2.使用命令行方式,个人比较喜欢这种方式. 首先打开terminal 执行步骤是一样的: 1.git st

Git与GitHub常用命令

说在前面的话,本文是跟着张哥的 GitHub 系列教程操作的,张哥微信公众号: googdev 雾艹-.. 一直在出差(借口)- 看了一下两个月没写博客了,真是太TM可怕了!!! 赶紧补一发,压压惊 git 注:在使用的任何的 git 命令前,都要切换到 git 项目目录下 git init 初始化一个 git 仓库 git status 查看当前 git 仓库的状态 git add file 修改 file 文件的状态为添加,并没有提交,只是存在缓存区 git rm –cached file

Git之 基本常用命令

Git基本常用命令如下: mkdir:         XX (创建一个空目录 XX指目录名) pwd:          显示当前目录的路径. git init          把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git add XX       把xx文件添加到暂存区去. git commit –m “XX”  提交文件 –m 后面的是注释. git status        查看仓库状态 git diff  XX      查看XX文件修改了那些内容 git

git配置及常用命令

1.配置 1)在网上下载git软件.我的是Git-1.9.5-preview20150319.exe和TortoiseGit-1.8.14.0-64bit.msi. 安装完后,从开始菜单点击git bash 2)输入 ssh-keygen -C "[email protected]" -t rsa 来生成一对密钥,默认保存到~/.ssh目录. 3)输入git config --global user.email [email protected] git config --global

Git 入门和常用命令详解

git 使用使用教程   git 使用简易指南  常用 Git 命令清单 下载   https://git-scm.com/downloads 工作流 本地仓库由三部分组成. 工作区:保存实际的文件(本地实际的文件目录) 缓存区(Stage / Index):临时保存文件改动 HEAD:指向最近一次提交的后果 下图说明了 Git 的工作流程 图片来源:http://www.runoob.com Git 常用命令 git init 创建新仓库.在当前目录中创建新的 Git 仓库,生成.git文件夹

Git配置和常用命令

Git配置 git config --global user.name "hunng" git config --global user.email "[email protected]" git config --global color.ui true git config --global alias.co checkout git config --global alias.ci commit git config --global alias.st sta