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

    git命令参数

    git add file
    git branch 查看所有分支
    git branch -d [分支名] -D 强制删除
    git branch --set-upstream-t=origin/[分支名] [分支名] 建立本地分支和远程分支的关联
    git checkout -- file 撤销工作区修改回到最近一次的git commit或git add
    git checkout -b [分支名] 此命令相当于git branch [分支名] 和 git checkout [分支名] 两个命令
    git checkout -b [分支名] origin/[分支名] 创建并切换到新分支,新分支的内容从远程分支上拉取
    git clone [远程仓库地址]
    git commit -m [注释]
    git commit --amend 修改最后一次的注释
    git diff
    git log --graph 可看到分支合并图
    git log --pretty=oneline --abbrev-commit
    git log --author=authorName --oneline 查看某人提交记录
    git show commitID 显示某次提交的详细信息
    git merge [分支名] 把参数中的分支修改合并到当前分支
    git merge --no-ff -m [注释] [分支名] 把合并的信息当作commit提交记录下来
    git pull <远程主机名> <远程分支名>:<本地分支名>
    git push -u origin master 第一次推送master分支的所有内容
    git push origin master 第二次及以后推送master分支上的内容
    git push -f origin master 强制推送master分支上的内容,本地仓库完全覆盖远程仓库(有些git系统不支持,具有风险性)
    git reflog 记录历史命令
    git remote 查看远程仓库
    git remote -v 查看远程仓库详细信息
    git remote add origin [远程仓库地址]
    git reset --mixed这样文件退出暂存区,但是修改保留
    git reset file 把暂存区的修改撤销
    git reset --hard HEAD^ 回退到上一个版本(HEAD表示当前版本)
    git rm 删除一个文件
    git rebase [分支名] 把参数中的分支合并到当前分支,不过不会产生合并记录
    git status
    git stash
    git stash list 查看所有stash
    git stash apply 恢复
    git stash drop 删除stash
    git stash pop 恢复并删除stash
    git tag 查看所有表签
    git tag [标签]
    git tag [标签] [commitID] 为某个commitID打上标签
    git tag -d [标签] 删除标签
    git push origin [标签] 推送标签到远程仓库
    git push origin --tags 一次性推送所有标签到远程仓库
    删除远程仓库标签经过两步:①git tag -d [标签] ②git push origin :refs/tags/[标签]
    git remote set-url origin [url] 重置远程仓库信息
    git show [标签] 显示标签信息

    1. 撤销修改说明:

    ① 未add git checkout --file 或 手动删除工作区修改 工作区clean 暂存区clean
    ② add git reset HEAD file (将暂存区修改删除) 暂存区clean 工作区wait add
    git checkout --file (暂存区恢复到工作区) 工作区clean 暂存区clean
    ③ add commit git reset --hard HEAD^ (版本回退) 工作区clean 暂存区clean

    2. git 一个分支完全覆盖另一个分支

    git checkout master // 切换到旧的分支
    git reset --hard develop // 将本地的旧分支 master 重置成 develop
    git push origin master --force // 再推送到远程仓库

    3. 空项目推送到git上

    git init
    git remote add origin [远程地址]
    git add . && git commit -m "注释"
    git push -u origin master

    4. 拉取submodule

    git submodule update --init --recursive

    5. git add 忽略文件

    1)忽略文件: git update-index --assume-unchanged filename
    2)取消忽略文件: git update-index --no-assume-unchanged filename

    6. 将远程库的单个文件回退到某一版本

    工作区 - 暂存区 - 本地版本区
    1)git log demo.js
    2)git reset [回退到的commit id] demo.js 将本地版库和暂存区中的文件回退到历史版本
    3) git checkout demo.js 暂存区中文件的历史版本覆盖工作区中对应的文件
    4)git add commit push正常提交

    .gitignore 配置文件

    • 配置语法:

      以斜杠“/”开头表示目录;

      以星号“*”通配多个字符;

      以问号“?”通配单个字符

      以方括号“[]”包含单个字符的匹配列表;

      以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

      此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;

    • 示例:

      (1)规则:fd1/*
         说明:忽略目录 fd1 下的全部内容;注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽略;

      (2)规则:/fd1/*
         说明:忽略根目录下的 /fd1/ 目录的全部内容;

      (3)规则:
    /*
    !.gitignore
    !/fw/bin/
    !/fw/sf/
    说明:忽略全部内容,但是不忽略 .gitignore 文件、根目录下的 /fw/bin/ 和 /fw/sf/ 目录;

    git配置生成ssh key

    1. 配置git用户名和邮箱
    git config user.name "用户名"
    git config user.email "邮箱"
    

    在config后加上 --global 即可全局设置用户名和邮箱。
    2. 生成ssh key

    ssh-keygen -t rsa -C "邮箱"
    

    git忽略换行方式拉取

    git拉取代码的时候,会自动将代码中的换行方式转化成你当前系统的换行方式。

    git config --global core.autocrlf false
    
  • 相关阅读:
    IOC注解开发与XML整合
    Spring的IOC注解开发入门2
    Spring的IOC注解开发入门1
    降维学习笔记
    决策树集成学习summary
    python shuffle
    为什么会突然难过
    保存为pickle
    gitlab被屏蔽问题
    selenium-历史(一)
  • 原文地址:https://www.cnblogs.com/reamd/p/5202797.html
Copyright © 2011-2022 走看看