zoukankan      html  css  js  c++  java
  • git-中的命令与理解

    改变到要操作仓库的目录
    创建文件夹(mkdir 文件夹名)

    git init
    初始化一个git仓库

    git add .
    git add --all
    两个命令一样作用,添加目录里面所有文件到本地工作区

    git add readme.txt (readme2.txt)
    添加多个文件

    根目录下创建.gitignore文件,里面放需要忽略的文件夹(或文件)名

    git commit -m '提交时候说明'
    提交文件

    git status
    查看本地工作区域的仓库状态

    git status -s
    输出本地工作区域仓库的简要变更信息

    git diff
    目录下的文件和git仓库中文件做对比,会列出对比信息

    git log (--pretty=oneline格式简略,命令没有括号)
    查看所有修改的日志,格式详细

    指定日期

    git log --after="2018-08-08"

    日期段

    git log --after="2018-08-08" --before="2018-09-09"

    指定数量

    git log -10 查看最近十条记录

    git reset --hard HEAD^
    回退到上一版本(^上一个 ~100上一百个)

    cat 文件名字
    查看文件内容

    git reset --hard 版本号id前七位
    在没有关闭窗口前,可以使用此命令回到未来

    git reflog
    查看所有操作会显示出id,可进行版本追溯

    git checkout -- readme.txt
    撤销对readme.txt文件的修改,回到最近一次的git commit或git add时的状态

    git rm test.txt
    删除文件,需要执行下commit命令

    git remote add origin(新的库名) git@github.com:sheng4526160(自己的账号)/test.git(库名)
    本地和远程关联账号,并创建新库,使其本地和远程关联。

    git push -u origin(仓库名) master
    将本地内容推送到远程服务器,-u以流的方式推送到远端。速度快一些。

    git push origin master(分支名)
    origin是远程库,推送到哪个库的哪个分支。再次提交时,提交到上面分支,不用加-u。根据需求推送

    git clone git@github.com:XXXX(github显示名)/gitskills.git(仓库名)
    将远程仓库客隆到本地(git方式最快,https方式较慢)

    git checkout -b 分支名
    创建并切换分支
    等同于以下两句
    git branch dev
    git checkout dev

    安装git(解压文件)
    配置环境变量
    GIT_HOME:git的解压目录
    path:%GIT_HOME%in;

    git branch
    查看分支
    当前分支会有一个*号

    git checkout dev(分支名)
    切换到某个分支

    git merge dev(分支名)
    将某个分支合并到当前分支

    git branch -d dev(分支名)
    删除某个分支

    git log --graph --pretty=oneline --abbrev-commit
    查看分支的合并情况
    graph图表形式
    --pretty=oneline简化显示(id号很长)
    --abbrev缩写形式(id号变短)

    git merge --no-ff -m 'merge with no-ff' dev(分支名)
    --no-ff设置不用fast forward模式合并代码,可以查看以前的合并记录,fast forward模式合并后无法查看以前的记录。
    因为合并后直接提交,所以加了-m'merge with no-ff'提交信息

    git stash
    将手头工作暂存在git某处管理。

    git stash list
    查看暂存的文件列表

    git stash apply stash@{0}
    恢复到暂存的指定版本文件,需要用下面命令在删除一下暂存的文件

    git stash drop
    删除暂存文件

    git stash pop
    恢复到暂存的指定版本文件,并删除原先暂存文件。

    git branch -D feature-vulcan(分支名)
    强制删除某个未合并的分支。

    git remote
    查看远程库的信息(缩减版)

    git remote -v
    查看远程库的详细信息

    git branch --set-upstream dev origin/dev
    建立本地dev和远程库里面dev分支的联系。为了从远程库拉取数据下来

    git pull origin(远端库名) master(远端分支名)
    从远程库的分支上拉取数据下来

    git tag v1.0
    添加标签,v1.0是标签名字(用来替代长串的id名)

    git tag
    查看标签列表

    git tag v0.9 6224937
    找到id为6224937的提交版本添加上tag标签。(在出现忘记打标签的情况下使用)

    git show v1.0
    查看标签为v1.0的版本的详细信息

    git tag -a tagname -m 'lala'
    指定标签信息和提交信息

    git tag -s tagname -m 'blabla'
    用pgp签名标签,用来防伪。

    git tag -d v0.1
    删除标签

    git push origin v0.1
    将标签为0.1的本地分支推送到远程库origin里

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

    git push origin :refs/tags/v0.9
    删除远程库的标签,用上面格式。步骤是先删除本地标签在去删除远程库里面的。

    untracked(未被跟踪的) 是因为文件未被添加,新生成的文件

    在某个开源项目下点击fork就可以将项目克隆到自己github上,然后在克隆自己仓库中克隆就可以在本地修改推送了!

    忽略特殊文件,创建.gitignore文件,要忽略的内容放到这里面。

    更改别名?
    git config --global alias.st status!查看状态直接git st就可以
    git config --global alias.co checkout!更改分支git co
    git config --global alias.ci commit!提交信息
    git config --global alias.br branch!更改分支

    1.理解暂存区和工作区?
    工作区就是本地文件夹
    暂存区放在git文件夹里,每次add后会放到这里,然后commit才会统一提交到git上

    2.unstage撤销掉
    放在暂存区的文件,可以用git reset HEAD撤销修改,回到工作区。

    3.工作区删除是
    git checkout -- readme.txt
    暂存区删除是回退
    git reset HEAD readme.txt

    4.本地仓库需要关联私钥
    搜索公钥和私钥的位置
    ls -al ~/.ssh
    结果出来_rsa是私钥_rsa.pub是公钥
    eval $(ssh-agent -s)
    出来agent的id为xxxx
    ssh-add ~/.ssh/xxx_rsa
    关联私钥xxx可能是任何名字


    5.添加公钥到github
    在setting页,选择SSH and GPG keys,选择new SSH key添加,需要在本地用户目录下找到.ssh文件夹下的_rsa.pub里面的内容(即公钥)

  • 相关阅读:
    ElasticSearch聚合分析API——非常详细,如果要全面了解的话,最好看这个
    wiredtiger引擎性能——比levelDB更牛叉!
    mongodb数据文件结构——record是内嵌BSON的双向链表,多个record或索引组成extent
    MongoDB Wiredtiger存储引擎实现原理——Copy on write的方式管理修改操作,Btree cache
    elasticsearch聚合操作——本质就是针对搜索后的结果使用桶bucket(允许嵌套)进行group by,统计下分组结果,包括min/max/avg
    splunk的统计分析功能——特定字段的统计功能包括取值分布(+topK,min/max/平均值)
    在SQLAlter在现场一定的价值
    Android4.0设置接口变更摘要(四)
    Nagios监控生产环境redis群集服务战
    Facebook Asynchronous Layout and Rending
  • 原文地址:https://www.cnblogs.com/victory820/p/6517195.html
Copyright © 2011-2022 走看看