zoukankan      html  css  js  c++  java
  • git笔记

    创建版本库
    git init
    eg:cd /opt && mkdir gitdir && cd gitdir && git init

    此时gitdir就已经被初始化为一个空的仓库了
    ls -a 可以看到有一个.git的隐藏目录,里面包含了项目文件修改情况,千万别修改或删除
    我们可以把存在的项目拷贝进这个目录 然后就可以实用git来控制了

    eg: touch new.py
    现在我们在这个目录下新建了一个文件 但是这个文件还没有进入版本库
    把文件送进版本库需要两步
    把文件送进暂存区
    git add filename  (可以添加多个文件到暂存区)
    把暂存区的所有文件提交到版本库
    git commit -m " description "
    显示最近提交日志
    git log
    查看当前版本库状态
    git status
    当你新建文件  或者修改了文件还没有commit  status会告诉你
    你新增了文件但是还没有添加到版本库 或者你修改了一个文件 但是还没有add到暂存区
    或者你有文件在暂存区 但是还没有commit
    查看当前修改的文件和版本库里面文件的差异
    git diff [filename]

    git reset --hard HEAD^
    git reset --hard HEAD~100

    git reset --hard 3628164

    git reflog

    git diff HEAD -- readme.txt

    git checkout -- file可以丢弃工作区的修改

    git reset HEAD file可以把暂存区的修改撤销掉

    删除文件
    rm filename
    git rm filename
    git commit filename

    绑定远程github账户
    在 ~/.ssh/下生成ssh私匙和公匙
    ssh-keygen -t rsa -C "youremail@example.com"
    将生成的id_rsa.pub内容复制到github上绑定

    在github上创建一个空的项目
    接下来把本地的git仓库同步到github上
    git remote add origin git@github.com:codeab/study.git
    把本地的仓库推送到github
    git push -u origin master   (第一次提交加上参数u)

    最好的情况是 我们先在github上创建仓库 然后克隆到本地
    git clone git@github.com:codeab/study.git

    git checkout -b dev 创建并切换分支

    git branch 查看当前所有分支

    git checkout master  切换分支

    git merge dev 把dev分支合并到当前分支  

    git branch -d dev  删除dev分支

    因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,
    合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。

    合并冲突: 如果要合并的两个分支上的文件内容不一样
    就会出现冲突  解决的办法是把一个分支上的文件改成和另一个文件一样才能合并

    git merge --no-ff -m "merge with no-ff" dev
    (产生记录的普通合并)

    git remote -v  显示远程库信息
    git push origin master  推送到远程的master分支

    git push origin dev  推送到远程的dev分支

    从远程库clone时,默认情况下,只能看到本地的master分支。可以用git branch 查看

    要在dev分支上开发,就必须创建远程origin的dev分支到本地
    git checkout -b dev origin/dev

    git pull 推送当前分支到远程对应的dev分支(推送前看下一步)
    git branch --set-upstream dev origin/dev
    (指定本地dev分支与远程origin/dev分支的链接)

    ×××××将远程仓库的最新代码更新到本地×××××××

    git fetch origin master:temp
    从远程的origin仓库的master分支下载到本地新建一个分支temp
    git diff temp
    比较master分支和temp分支的不同
    git merge temp
    合并分支
    git branch -d temp
    删除temp分支

    ××××××××××××××××××××××××××××××××××××

    git tag v1.0  在当前分支上打标签
    git tag 查看所有标签

    git tag v0.9 6224937  给指定的commit id打标签

    git tag -d v0.1  删除标签
    git push origin v1.0  把某个标签推送到远程

    git push origin --tags  推送所有标签到远程

    git push origin :refs/tags/v0.9  删除远程标签

    自定义git
    git config --global color.ui true

    忽略特殊文件
    .gitignore  
    https://github.com/github/gitignore

    配置别名
    git config --global alias.st status

    eg:git config --global alias.lg "log --color --graph
    --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s
    %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

    配置文件
    cat .git/config

    删除远程分支

    git branch -r -d origin/master

    stash的常用语句:

    git stash list 查看储藏列表

    git stash save 'comment' 把当前更改push到储藏(储藏是一个栈结构,后进先出)

    git stash pop 把储藏里面最近一个储值弹出来,并将其在栈中删除

    git stash apply stash@{0} 应用最后一个储值,但不删除

  • 相关阅读:
    ci框架与smarty的整合
    jQuery 1.3.2 简单实现select二级联动
    Nginx配置https
    tp5.1最新的类库使用规则
    Linux指令大全
    Redis锁机制处理高并发
    Nginx配置https站点
    vue的入门
    HTTP 请求头中的 X-Forwarded-For,X-Real-IP
    Composer包制作以及发布!
  • 原文地址:https://www.cnblogs.com/codeAB/p/5005267.html
Copyright © 2011-2022 走看看