zoukankan      html  css  js  c++  java
  • Git学习笔记-常用命令

    1.前言

    参考教程:Git教程-廖雪峰

    小结:

    看教程很容易理解,但是要灵活运用还需要花时间,毕竟技术注重实践。

    2.常用命令

    配置:

    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"

    创建本地版本库时,初始化:

    $ git init

    添加、提交到本地仓库:

    $ git add readme.txt
    添加所有:
    git add .
    $ git commit -m "wrote a readme file"

    仓库当前的状态:

    git status

    查看变化:

    $ git diff
    查看工作区和版本库里面最新版本的区别:
    $ git diff HEAD -- readme.txt(文件名)

    查看历史记录:

    $ git log
    一条只显示一行:
    $ git log --pretty=oneline

    回退:

    到上一个版本:
    $ git reset --hard HEAD^
    上上一个版本:
    $ git reset --hard HEAD^^
    往上100个版本:
    $ git reset --hard HEAD~100
    到指定版本:
    $ git reset --hard 3628164

    丢弃工作区的修改:

    --很重要,没有--,就变成了“切换到另一个分支”的命令
    $ git checkout -- readme.txt

    把暂存区的修改撤销掉(unstage),重新放回工作区:

    $ git reset HEAD file

    删除文件:

    1.文件管理器中删除:
    $ rm test.txt
    2.从版本库中删除:
    $ git rm test.txt

    2.1远程仓库

    1.创建SSH Key:

    $ ssh-keygen -t rsa -C "youremail@example.com"
    会在C:UsersAdministrator.ssh下生成id_rsa(私钥,不能泄露出去)和id_rsa.pub(公钥)

    2.github中添加SSH KEY: title和id_rsa.pub(公钥)

    已有的本地仓库与远程仓库关联:

    $ git remote add origin git@github.com:yourname/learngit.git

    把本地库的所有内容推送到远程库上:

    $ git push -u origin master
    第一次推送master分支时,加上了-u参数
    再次提交:
    $ git push origin master
    推送其他分支:
    $ git push origin dev

    克隆一个本地库:

    $ git clone git@github.com:yourname/gitskills.git

    创建dev分支并切换:

    -b参数表示创建并切换
    $ git checkout -b dev
    相当于以下两条命令:
    $ git branch dev   # 创建
    $ git checkout dev # 切换

    查看当前分支:

    $ git branch

    合并:

    在master下,合并dev:
    $ git merge dev
    禁用Fast forward模式:
    $ git merge --no-ff -m "merge with no-ff" dev

    删除分支:

    $ git branch -d dev
    强行删除:
    $ git branch -D dev

    分支合并图:

    $ git log --graph --pretty=oneline --abbrev-commit

    把当前工作现场“储藏”起来:

    $ git stash
    查看stash:
    $ git stash list
    恢复:
    git stash pop

    pull:

    指定本地dev分支与远程origin/dev分支的链接:
    $ git branch --set-upstream dev origin/dev
    $ git pull

    标签:

    $ git tag v1.0 # 打在最新提交的commit上
    $ git tag v0.9 6224937 # 打在历史提交的commit上
    查看所有标签:
    $ git tag
    查看标签信息:
    $ git show v0.9
    删除:
    $ git tag -d v0.9
    推送某个标签到远程:
    $ git push origin v1.0
    $ git push origin --tags # 所有
    删除远程标签:
    $ git tag -d v0.9 # 1.先从本地删除
    $ git push origin :refs/tags/v0.9 # 2.远程删除

    忽略特殊文件:

    在目录下创建一个.gitignore文件

    忽略模板:https://github.com/github/gitignore

    3.常用流程

    在github上看到比较好的开源项目想clone过来:

    1.在github上fork

    2.在本地用命令:$ git clone git@github.com:yourname/gitskills.git克隆到本地

    coding:

    如果没有创建SSH Key,先创建SSH Key:

    ssh-keygen -t rsa -C "youremail@example.com"
    会在C:UsersAdministrator.ssh下生成id_rsa(私钥,不能泄露出去)和id_rsa.pub(公钥)

    在coding中“我的账户“-”SSH公钥“中添加公钥。

    本地已经有代码的情况下,先初始化(在主文件夹中):

    git init

    本地仓库与远程仓库关联:

    git remote add origin https://git.coding.net/yourname/projectname.git

    pull远程仓库到本地,由于两个仓库不同需要这样写

    git pull origin master --allow-unrelated-histories

    提交本地的文件:

    git add .
    git commit -m "commet"

    push到远程:

    git push origin master

    参考:

    在git bush中如何退出vim编辑器

  • 相关阅读:
    CDN的基本工作过程
    受控组件和非受控组件
    【转】深入理解margin
    【转】前端面试
    centos7下 mysql5.7离线安装
    HIVE客户端启动缓慢处理步骤
    arthas使用介绍
    Hive重写表数据丢失风险记录
    namenode 问题小记
    Kafka丢失数据问题优化总结
  • 原文地址:https://www.cnblogs.com/shanchuan/p/8150282.html
Copyright © 2011-2022 走看看