Git的配置与使用

一,未配置过git

1.1,安装Git

https://git-for-windows.github.io/

1,2,鼠标右键点击Git Bash Here

1.3,输入命令

    1. cd ~/.ssh/    【如果没有对应的文件夹,则执行  mkdir  ./.ssh】
    2. git config --global user.name "******"
    3. git config --global user.email "*******"
    4. ssh-keygen -t rsa -C "*******" (******* 就是上面输入的邮箱)

二,已配置过git

直接生成:ssh-keygen -t rsa -C ‘邮箱’

三,git 连接远程仓库

3.1,本地创建新项目,然后与git关联

 #创建新文件夹
mkdir xxx
#进入
cd xxx
#初始化Git仓库
git init
#提交改变到缓存
git commit -m 'description'
#本地git仓库关联GitHub仓库
git remote add origin git@github.com:Test
#提交到GitHub中
git push -u origin master

3.2,克隆git仓库的代码

  #从Git仓库上克隆项目到本地
git clone git@ip/域名:项目文件名称 #注意克隆的时候直接在仓库根目录即可, 不用再创建项目根目录 ;
#对比本地仓库与远程仓库的不同
git giff
#添加文件
git add . # 将目录中所有文件添加;
#查询是否成功添加到缓存
git status
#提交缓存 提交可以写提交描述
git commit -m '提交';
#从远程GitHub仓库拉取
git pull
#提交到远程GitHub仓库
git push -u origin master ;
#获取提交日志
git log;

四,git常用命令

4.1,远程仓库操作命令

  1. 克隆仓库:$ git clone git://github.com/jquery/jquery.git
  2. 查看远程仓库:$ git remote -v
  3. 添加远程仓库:$ git remote add [name] [url]
  4. 删除远程仓库:$ git remote rm [name]
  5. 修改远程仓库:$ git remote set-url --push[name][newUrl]
  6. 拉取远程仓库:$ git pull [remoteName] [localBranchName]
  7. 推送远程仓库:$ git push [remoteName] [localBranchName]/git push origin/master

4.2,分支(branch)操作命令

  1. 查看本地分支:$ git branch
  2. 查看远程分支:$ git branch -r
  3. 创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支
  4. 切换分支:$ git checkout [name]
  5. 创建新分支并立即切换到新分支:$ git checkout -b [name]
  6. 删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
  7. 合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并
  8. 创建远程分支(本地分支push到远程):$ git push origin [name]
  9. 删除远程分支:$ git push origin :heads/[name]
  10. 提交分支作为远程的分支:$ git push origin test:master    // 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就会自动创建一个test分支;$ git push origin test:test              // 提交本地test分支作为远程的test分支
  11. 删除远程的分支:git push origin :test              // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心

4.3,版本(tag)操作命令

  1. 查看版本:$ git tag
  2. 创建版本:$ git tag [name]
  3. 删除版本:$ git tag -d [name]
  4. 查看远程版本:$ git tag -r
  5. 创建远程版本(本地版本push到远程):$ git push origin [name]
  6. 删除远程版本:$ git push origin :refs/tags/[name]

4.4,子模块(submodule)操作命令

  1. 添加子模块:$ git submodule add [url] [path]
  2. 如:$ git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs
  3. 初始化子模块:$ git submodule init ----只在首次检出仓库时运行一次就行
  4. 更新子模块:$ git submodule update ----每次更新或切换分支后都需要运行一下
  5. 删除子模块:(分4步)
1)$ git rm --cached [path]
2) 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉
3) 编辑“.git/config”文件,将子模块的相关配置节点删除掉
4) 手动删除子模块残留的目录

4.5,git忽略文件、文件夹不提交

在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如:

 # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

 # dependencies
/node_modules # production
/dist # misc
.DS_Store
npm-debug.log*
.idea

4.6,其他操作命令

             回退到指定版本:git reset --hard 27da9167665

拉取指定分支代码:git clone -b dev_zj http://1.1.1.11/service/tmall-service.git

             服务上未创建分支时提交代码:git push --set-upstream origin test

删除本地分支: git branch -d [branchname]

删除远程分支: git push origin --delete [branchname]

更改本地和远程分支的名称:

 git branch -m old_branch new_branch # Rename branch locally
git push origin :old_branch # Delete the old branch
git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote

五,git配置代码比较与合并工具

1,下载安装 meld

Meld官网 点击下载

2,修改.gitconfig文件

两种方式:

1.1. 在git bash 命令行使用命令修改

1.2. 直接修改.gitconfig文件

 [diff]
tool = meld
[difftool "meld"]
cmd = "\"D:/Meld/Meld.exe\" \"$LOCAL\" \"$REMOTE\""
[merge]
tool = meld
[mergetool "meld"]
cmd = "\"D:/Meld/Meld.exe\" \"$LOCAL\" \"$REMOTE\""

3,代码比较与合并的效果图

Git的配置与使用的更多相关文章

  1. 小丁带你走进git世界一-git简单配置

    小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config  –global user.name BattleHeaer ...

  2. git的配置

    git的配置: Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量. 这些环境变量,决定了 Git 在各个环节的具体工作方式和行为.这些变量可以存放在以下三个不 ...

  3. Xcode 中 Git 的配置与使用

    Xcode 中 Git 的配置与使用主要围绕下面几个问题展开阐述: 问题1,如何在Xcode中创建本地代码库,并添加和提交代码到本地代码库? 问题2,如何在Xcode中提交推送给远程服务器代码库? 问 ...

  4. Git 常用配置和使用

    Git:是一个分布式的源代码管理工具,Linux内核的代码就是用Git管理的所以它很强,也很快, 和 Vss/SVN比起来 本地Git初始化配置及其使用: 1. 初始化本地Git库:打开Git Bas ...

  5. Git起步--git安装与初次运行git前配置

    在你开始使用 Git 前,需要将它安装在你的计算机上. 即便已经安装,最好将它升级到最新的版本. 你可以通过软件包或者其它安装程序来安装,或者下载源码编译安装. 一.Git安装 1. 在linux上安 ...

  6. Git 初始化配置

    先给大家推荐个很不错的GIT学习资料:廖雪峰  <Git简介> http://www.liaoxuefeng.com/wiki/0013739516305929606dd183612485 ...

  7. Git环境配置+VSCode中文乱码问题

    异常处理汇总-开发工具  http://www.cnblogs.com/dunitian/p/4522988.html 1.VSCode中文乱码问题 (files.autoguessEncoding= ...

  8. IntelliJ IDEA下Git的配置与使用(命令行下)

    1. 安装Git并配置好Git 安装与配置参见Git与码云(Git@OSC)入门-如何在实验室和宿舍同步你的代码(1)中的2.在本机安装Git与3.1 配置git. 2. 创建远程仓库 在gitee. ...

  9. Git 安装配置手册

    Git 安装配置手册 首先我们要了解 Git 是类似于 SVN 用来管理项目的 首先要先下载 Git ,这个东西相当于一个核,是该功能的核心 下载地址(<https://gitforwindow ...

  10. Android代码编译环境配置 “Gerrit和Git环境配置”

    Gerrit和Git环境配置可以参考<git&gerrit操作指导> 步骤1. 先在Gerrit中创建新的账户: 步骤2. 在新的客户端上生成密钥(可以使用的是生成的公钥): 步骤 ...

随机推荐

  1. Docker: docker image常用命令实战

    #docker列出镜像[root@192 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx latest 881bd08c0b08 ...

  2. C3P0连接池温习1

    一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...

  3. 【ZJOI2012】灾难

    [ZJOI2012]灾难 阿米巴是小强的好朋友. 阿米巴和小强在草原上捉蚂蚱.小强突然想,如果蚂蚱被他们捉灭绝了,那么吃蚂蚱的小鸟就会饿死,而捕食小鸟的猛禽也会跟着灭绝,从而引发一系列的生态灾难. 学 ...

  4. Python:Day21

    序列化 我们把对象(变量)从内存中变成可存储或可传输的过程称之为序列化 json模块

  5. hyperledge工具-configtxlator

    参考:http://www.blockchainbrother.com/article/1337 1.作用: 因为无论配置交易文件 .tx和初始区块文件 .block都是二进制格式,用户无法直接编辑. ...

  6. oracle 11G direct path read 很美也很伤人

    direct path read在11g中,全表扫描可能使用direct path read方式,绕过buffer cache,这样的全表扫描就是物理读了. 在10g中,都是通过gc buffer来读 ...

  7. hdu4966 GGS-DDU

    hdu4966 GGS-DDU 有 \(n\) 个课程,每种课程有 \(a_i\) 级,一开始你每种课程都为 \(0\) 级,有 \(m\) 个升级方案:\((x,\ l1,\ y,\ l2,\ c) ...

  8. springboot配置文件中使用当前配置的变量

    在开发中,有时我们的application.properties某些值需要重复使用,比如配置redis和数据库或者mongodb连接地址,日志,文件上传地址等,且这些地址如果都是相同或者父路径是相同的 ...

  9. [USACO5.3]校园网Network of Schools

    题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中. 你要写 ...

  10. [MicroPython]TPYBoard智能小车“飞奔的TPYBoard装甲一号”

    智能小车作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途.智能小车能够实时显示时间.速度.里程,具有自动寻迹.寻光.避障 ...