Git使用教程

Git 安装:

windows及Mac下的安装直接在官网下载安装即可   

  Linux系统安装

    Ubuntu sudo apt-get install git
    CentOS sudo yum install git(没有安装yum命令需先安装)

  检验是否安装成功

    git --version 查看git版本

  配置用户名和邮箱:

    $ git config --global user.name "xxx"
    $ git config --global user.email xxx@xx.com

  生成ssh公钥

    ssh-keygen -t rsa -C "xxxxx@xxx.com"
    # Generating public/private rsa key pair...
    # 三次回车即可生成 ssh key  

  查看公钥

    cat ~/.ssh/id_rsa.pub
    # ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

  将公钥添加至用户ssh_key

    设置——>ssh公钥——>将上面生成的公钥复制进去保存即可

git使用教程

  1.创建账号
  2.设置->安全设置->SSH公钥->(将上面生成的ssh公钥复制进公钥输入框即可)
  3.创建一个项目
  4.本地打开项目进行初始化:git init -> git remote add origin (项目的https地址) origin为别名 如果存在可以删除也可以替换为其他
  5.测试提交:git pull origin master
  6.修改/添加文件,否则与原文件相比就没有变动:
    git add .
    git commit -m "第一次提交"

    git remote add xxxx xxxx.git   //构建关联

    git push -u xxxx master
    如果需要账号密码的话就输入账号密码,这样就完成了一次提交。此时,你可以在你的个人面板、项目主页查看到你的提交记录。
  7.在新建项目时,如果在码云平台仓库上已经存在 readme 或其他文件,在提交时可能会存在冲突,这时用户需要选择的是保留线上的文件或者舍弃线上的文件,如果您舍弃线上的文件,则在推送时选择强制推送,强制推送需要执行下面的命令(默认不推荐该行为):
  $ git push origin master -f
  如果您选择保留线上的 readme 文件,则需要先执行:
  $ git pull origin master


git其他常用指令:

  git init 项目初始化(进入项目目录执行该指令,该目录下会生成隐藏的.git文件夹)

  git clone xx.git 克隆

  git pull 远程拉取到本地更新
  git add xx(文件名/.) 将工作区文件添加到暂存区
  git status 查看当前文件状态(工作区与暂存区文件状态对比)有差异就显示
  git diff 显示提交后的改动详情
  尚未缓存的改动:git diff
  查看已缓存的改动: git diff --cached
  查看已缓存的与未缓存的所有改动:git diff HEAD
  显示摘要而非整个 diff:git diff --stat
  git commit -m '提交说明' 将暂存区文件提交到版本库
  如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步
  $ git commit -am '提交说明'
  git push 提交 第一次提交参考:git push https://github.com/xxxx.git master (输入账号密码)
    文件提交如果提示No configured push destination. Either specify the URL from the command-line
    则需要设置目标地址git push git@github.com:xxxxxxxx.git
    设置默认参数:git remote add 远程仓库名 git@github.com:xxxxxxxx.git
    然后在提交
  第一次推送: $ git push -u 远程仓库名 master -f(强制提交使用)
  如果出现error: failed to push some refs to 'xxx',错误可能是本地没有初始化iml文件
  执行git pull --rebase 远程仓库名 master 初始化本地iml文件后在提交
  初次使用(git push --set-upstream 远程仓库名 master)提交,前提是设置了默认参数

  日志查询

    查询所有日志 $ git log

    查询简洁版日志$ git log --oneline

  版本标签

    给最新一次提交上去打一个版本标签 $ git tag -a 版本号   

    当我们执行 git log --decorate --graph时,我们可以看到我们的标签

  暂存区操作

     git commit --amend 撤销上一次提交,并将暂存区的文件重新提交
     git checkout -- 文件名/. 拉取暂存区的文件并将其替换工作区文件
     git reset HEAD 文件名/. 拉取版本库文件到暂存区(HEAD为修改最近一次的暂存,也可以修改为log里面的commit版本号,根据版本号进行拉取)默认为:git reset --hard HEAD
     git reset --mixed HEAD 将版本库和暂存区回退到指定的head状态,本地文件不受影响
     git reset --soft HEAD 将版本库和回到HEAD的版本,其他不受影响
     git rm --文件名/. 删除工作区及暂存区的文件,相当于删除文件后执行 git add .
     git rm --cached 文件名; 在不小心将不需要的文件添加到暂存区,删除暂存区的文件不删除本地文件使用该指令

  git分支操作

     git branch 查看所有分支
     git branch xxx 创建名为xxx的分支
     git checkout xxx 切换至xxx的分支
     git branch -d xxx 删除xxx分析(前提必须是未在该分支下)
     git branch -m xxx yyy 将xxx分支名修改为yyy分支
     git checkout -b xxx 创建名为xxx的分支并切换至xxx分支
     git merge xxx 将xxx分支合并到当前分支下

  git储存变更

    git stash
    git stash list 展示储存信息列表
    git stash apply stash@num stash后面不加数字则表示应用最后一次储存信息
    git stash drop stash@num stash后面不加数字则表示删除最后一次储存信息,加数字则代表删除指定运行储存的信息
提交文件隔离(指定某些文件、文件夹不被提交)
    touch .gitignore 创建.gitignore文件
    vim .gitignore 编辑不需要上传的文件/指定类型文件/文件夹

隔离类型参照glob模式

  * 匹配零个或多个任意字符
  [abc] 匹配任意一个列在方括号的字符
  ? 只匹配一个任意字符
  [0-9],[a有道词典

原文地址:https://www.cnblogs.com/it-xiaoBai/p/12885981.html