Git使用总结

14 篇文章 0 订阅
7 篇文章 0 订阅

Git使用总结

一 前言

本文是参考和学习了网上资料之后的总结,不当之处希望大家及时指正。

1、 Git教程
2、 Git官方文档

二 安装Git

1、 Linux
CentOS
yum install git
Ubuntu
apt-get install git
2、 Mac OS

两种方法:

  1. 安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/

  2. 从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode。
    选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,
    选择“Command Line Tools”,点“Install”就可以完成安装了。

3、 Windows

下载安装git shell,或者github客户端。

设置用户名和邮箱:

git config --global user.name "you_name"  #设置全局用户名
git config --global user.email "email@example.com"  #设置全局邮箱

三、 Git使用

1、 创建本地仓库

初始化所在目录为本地Git仓库,该目录可以不为空(建议使用空目录)。

git init
2、 添加文件到本地仓库(仓库即版本库)

这里写图片描述

git add file [file1 file2 ...] # 添加文件file到暂存区stage
git add -f file [file1 file2 ...] #  强制添加file到stage(可用于添加忽略文件)

git commit -m "操作说明" # 把stage中的内容提交到仓库

可以多次add,一次commit,此时所有的add的说明是一样的。
可以一次add,一次commit,此时每个add都有自己的说明。

3、 时光穿梭机
  • 查看状态
 git status # 查看仓库当前状态
  • 查看差异
 git diff [file] # 查看工作区和暂存区中[file]的差异
 git diff --cached [file] # 查看暂存区和仓库中[file文件]的差异
 git diff HEAD -- [file] # 查看工作区和仓库中[file]的差异
  • 查看历史
git log # 查看commit历史信息
git log -1 # 查看最后一次commit信息
git log --pretty=oneline # 单行模式显示
        --graph  # 用图形显示分支合并历史
        --abbrev-commit # 简写commit_id
git reflog # 查看所有操作记录,包括回退,删除
  • 版本切换
git reset --hard HEAD^    # 回到上一版本
git reset --hard HEAD^^   # 回到上上版本
git reset --hard commit_id  # 切换到commit_id(可以是简写的)指定的版本。
  • 撤销修改
git checkout -- [file]   # 撤销对工作区的修改(没有执行add时)
git reset HEAD [file]    # 撤销对暂存区的修改(执行add,但没执行commit时)

执行了commit,可以先使用上一步的版本回退。

  • 删除文件

    • shell命令删除工作区文件,然后提交

      rm file
      git add file
      git commit -m "说明"

    • git命令删除工作区和暂存区文件,然后提交

      git rm file
      git commit -m "说明"

4、 远程仓库
  • 在本地创建SSH Key
ssh-keygen -t rsa -C "youremail@yourdomain.com"

 Linux下默认生成的 id_rsa 和 id_ras.pub 文件在 ~/.ssh/ 目录下。
 把 id_ras.pub 文件中的内容复制到,并添加到远程仓库(Git服务器)中,进行用户注册。

  • 添加远程仓库
git remote add origin git@git-server-name:path/repo-name.git # 添加远程库
git remote # 查看远程库
git remote -v # 显示远程库详细信息

git remote add 的origin,是给远程仓库起的名字,可任写。

  • 推送并关联远程库
git push -u origin master # 把本地仓库的分支推送并关联到远程仓库

其中,origin是添加远程仓库时指定的名字,与git remote add时一致。
master是分支名称,master是主分支。
* 除第一次关联外,之后push不需要 -u 选项 *
* 添加远程仓库后,第一次执行clone或者push时有报警信息,是提醒添加了一条对SSH信任的信息,请你确认是否有误 *

  • 从远处仓库克隆
git clone git@git-server-name:your-path/repo-name.git  ## 克隆远程仓库到本地当前目录
git pull # 拉取远程库内容到当前git仓库目录
5、 分支管理
git branch branch-name  ## 创建分支branch-name
git checkout branch-name  ## 切换到分支branch-name
git checkout -b branch-name ## 创建并切换到branch-name
git branch  ## 查看所有分支
git branch -d branch-name ## 删除分支branch-name
git branch --set-upstream branch-local branch-remote  ##关联本地branch-local到远程仓库branch-remote
git merge branch-name  ## 合并分支branch-name
git merge branch-name --no-ff  ## 禁用Fast-forward快速合并
git merge --no-ff -m "说明" branch-name  ## 合并分支并添加说明
git stash  ## 保存当前工作现场
git stash list   ## 查看保存的列表
git stash apply  ## 恢复stash中保存的工作现场
git stash pop   ## 恢复并删除stash
git stash drop  ## 删除stash
git branch -D branch-name  ## 强制删除分支(用于删除未合并的分支)

git merge 使用–no-ff 选项,删除分支后,可以记录分支合并的历史。

  • 分支管理策略

    分支管理策略

    如上图,
    ① 一般主分支master用来发布版本,保证master分支非常稳定。
    ② dev分支用来进行开发,不断迭代,保证可以编译通过。
    ③ 每个人都有自己的分支,用来保存自己工作,保证自己代码不丢失,同时也保证了dev分支能正常编译,不影响其他开发者工作。

  • Bug分支

    先保存自己的工作区现场,然后从需要修复bug的分支(如master)建立一个自己的分支,进行bug修改,修改完后合并到master,最后恢复自己的工作区,继续工作。

  • Feture分支

    与Bug分支类似。添加新功能时,新建分支,完成新功能的添加。

  • 多人协作

    先从dev分支上pull拉取最新代码,有冲突先解决冲突,最后再合并push到远程仓库。

6、 标签管理

打标签,可以记录每次发布版本对应的代码的位置。

git tag  ## 查看现有标签
git tag v1.0  ## 给当前分支最新commit打标签
git tag v0.9 commit_id ## 给指定的commit_id打标签
git tag -a v0.1 -m "标签说明" commit_id  ## 给标签添加说明
git tag -s v0.1 -m "标签说明" commit_id  ## 用gpg私钥给标签签名
git tag -d v0.1  ## 删除标签v1.0
git show v0.2   ## 显示标签v0.2的信息
git push origin v1.0  ## 推送标签v1.0到远程仓库origin
git push origin --tags  ## 推送所有未推送的标签到远程库origin
git push origin :refs/tags/v1.0  ## 删除远程仓库中的标签v1.0(先删除本地,再使用该命令删除)
7、 使用GitHub

GitHub开源协作社区, 世界级公用Git服务器。

  • fork 已有项目,生成自己的分支;
  • clone 在本地clone自己分支上的代码,进行修改;
  • pull request,修改完后commit,push到自己的分支,然后pull request 到源项目中,等待源项目作者合并到项目或者关闭。如果原作者是自己,则自己决定是否合并。
8、 自定义Git
  • 设置配置参数
git config --list  ## 查看git全局配置参数
git config --global user.name "you_name"  #设置全局用户名
git config --global user.email "email@example.com"  #设置全局邮箱
git config --global color.ui true  #设置全局颜色显示
git config --global alias.<alias_name> <'command_name'>  #设置别名
  • 忽略特殊文件
    在当前Git工作区目录创建 .gitignore 文件,
    内容举例,如下:
    #Windows:
    Thumbs.db
    ehthumbs.db
    Desktop.ini

    #Python:
    *.py[cod]
    *.so
    *.egg
    *.egg-info
    dist
    build
    #My configurations:
    db.ini
    deploy_key_rsa

有文件file不能add,被Git服务器忽略时,查看忽略该文件的规则:

git check-ignore -v <file>  #查看忽略该文件的规则

可以使用 git add -f 选项进行强制添加。

  • 配置别名列表
git config --global alias.confg 'config --global'
git confg alias.st status
git confg alias.co checkout
git confg alias.ci commit
git confg alias.br branch
git confg alias.unstage 'reset HEAD'
git confg alias.last 'log -1'
git confg alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %

Completed!
请开始你的表演!!~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值