zoukankan      html  css  js  c++  java
  • git

    git完整命令手册 : https://git-scm.com/docs

    菜鸟教程git入门 : https://www.runoob.com/git/git-tutorial.html

    视频(B): https://www.bilibili.com/video/av10475153?

    fork:复制克隆项目到自己。

    Pull Reequest:发起请求。

    两个动作:

    1)新建Issue

      提交试用问题/建议/想法。

    2)Pull Request

    步骤:1、fork项目;

          2、修改自己仓库的项目代码;

       3、新建Pull Request;

       4、等待作者操作审核。

    常见命令:

    1)Git Bash Here :命令行模式

    2)Git GUI Here :图形界面模式

    git的工作区域

    向仓库中提交文件的流程

    1)git status 查询文件在“工作区/暂存区”;

    2)git add “文件名” 将文件添加到暂存区;

    3)git status 确定文件在“工作区/暂存区”;

    4)git commit -m“提交描述” 将文件提交到Git仓库。

    Git初始化及仓库创建和操作

    基本信息设置

    1)设置用户名 git config --global user.name 'itcast'

    2)  设置用户名邮箱 git config --global user.email 'itcast@itcast.com'

    3)查看设置 git config --list

    4) 创建文件 touch wx.php

    命令行:pwd 查看当前目录

    1)创建一个文件夹/ mkdir '文件夹名称'

    2)进入到刚刚创建好的文件夹 输入git init 

    3)初始化 git init

    4)  查看状态 git status

    5) 如果又touch新建了一个文件,需要利用git add wx.js再次将工作区中的文件先加载到暂存区中

     6)提交暂存区中的内容  git commit -m '描述'

    7)vi wx.js 修改文件          git add “文件名” 将文件添加到暂存区;

    8)删除文件  rm wx.js/手动鼠标右键删除       git rm wx.js   git commit -m '删除了wx.js文件'

    将本地仓库同步到git远程仓库中

    9)$ git remote add /origin可修改/ https://github.com/wangxuasdf202/test.git 指定上传的仓库地址

    10)$  git push -u origin master 推到仓库

    利用Github搭建个人站点

    访问:https://用户名.io

    搭建步骤:

    1)创建个人站点    ->新建仓库 (注:仓库名必须是【用户名.github.io】)

     Project Pages项目站点

    简单的代码提交流程
    git status 查看工作区代码相对于暂存区的差别
    git add . 将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录
    git commit -m ‘注释’ 将缓存区内容添加到本地仓库
    git push origin master 将本地版本库推送到远程服务器,
    origin是远程主机,master表示是远程服务器上的master分支,分支名是可以修改的
    Git add
     git add [参数] <路径> 作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用git commit命令进行提交了。
     为了方便下面都用 . 来标识路径, . 表示当前目录,路径可以修改,下列操作的作用范围都在版本库之内。

    git add .
    不加参数默认为将修改操作的文件和未跟踪新添加的文件添加到git系统的暂存区,注意不包括删除
    git add -u .
    -u 表示将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件,注意这些被删除的文件被加入到暂存区再被提交并推送到服务器的版本库之后这个文件就会从git系统中消失了。
    git add -A .
    -A 表示将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区。
    Git commit
     git commit 主要是将暂存区里的改动给提交到本地的版本库。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,
     commit-id 在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里.

    git commit -m ‘message’
    -m 参数表示可以直接输入后面的“message”,如果不加 -m参数,那么是不能直接输入message的,而是会调用一个编辑器一般是vim来让你输入这个message,
    message即是我们用来简要说明这次提交的语句。
    git commit -am ‘message’ -am等同于-a -m
    -a参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库,即使它们没有经过git add添加到暂存区,
    注意: 新加的文件(即没有被git系统管理的文件)是不能被提交到本地仓库的。
    Git push
     在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,git 仓库的基本结构。
     git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名。第一个master是本地分支名,第二个master是远程分支名。

    git push origin master
    如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
    git push origin :refs/for/master
    如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin –delete master
    git push origin
    如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支
    git push
    如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名
     关于 refs/for:
    refs/for 的意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的,而refs/heads 不需要

    另一篇

    关联用户:$ git config --global user.name "[color=green]yourName[/color]"
    关联邮箱账号:$ git config --global user.email "[color=green]yourEmail[/color]"
    创建新文件夹:$ mkdir[color=lime] [/color][color=cyan][color=green]<file>[/color]
    [/color]显示当前目录:$ pwd
    将某个目录变成Git仓库:$ git init
    将文件添加到仓库:$ git add [color=green]<file>[/color]
    把文件提交到仓库,-m后面输入的是本次提交的说明:$ git commit -m "[color=green]wrote a readme file[/color]"
    显示仓库当前的状态:$ git status
    查看文件的修改内容:$ git diff [color=green]<file>
    [/color]查看提交历史:$ git log
    单行显示提交历史:$ git log --pretty=oneline
    把当前版本回退到上一个版本:$ git reset --hard HEAD^
    查看[color=#008000]readme.txt 文件的内容:[/color]$ cat [color=green]readme.txt
    [/color]回退到某一版本[例如3628164]:$ git reset --hard [color=green]3628164
    [/color]查看命令历史:$ git reflog
    查看文件工作区和版本库里最新版本的区别:$ git diff HEAD -- [color=green]<file>[/color]
    丢弃文件工作区的修改:$ git checkout -- [color=green]<file>[/color]
    把文件暂存区的修改回退到工作区:$ git reset HEAD [color=green]<file>[/color]
    删除文件:$ rm [color=green]<file>[/color]
    创建SSH Key:$ ssh-keygen -t rsa -C "[color=green]yourEmail[/color]"
    建立本地仓库与GitHub远程仓库的关联:$ git remote add origin git@github.com:[color=green]GitHubName[/color]/[color=green]<file>[/color][color=black].[/color]git
    或者:$ git remote add origin https://github.com/[color=green]GitHubName[/color]/[color=green]<file>[/color][color=black].[/color]git
    把本地库的内容推送到远程,加-u参数,把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令:$ git push -u origin master
    简化后的推送命令:$ git push origin master
    从GitHub远程仓库克隆:$ git clone git@github.com:[color=green]GitHubName[/color]/[color=green]<file>[/color][color=black].[/color]git
    或者:$ git clone https://github.com/[color=green]GitHubName[/color]/[color=green]<file>[/color][color=black].[/color]git
    查看文件列表:$ ls
    创建“dev”分支:$ git branch [color=green]dev[/color]
    切换到“dev”分支:$ git checkout [color=green]dev[/color]
    创建“dev”分支并且切换到“dev”分支:$ git checkout -b [color=green]dev[/color]
    *列出所有分支,当前分支前面会标一个号:$ git branch
    合并“dev”分支到当前分支:$ git merge [color=green]dev[/color]
    删除dev分支:$ git branch -d [color=green]dev[/color]
    用带参数的 git log 查看分支的合并情况:$ git log --graph --pretty=oneline --abbrev-commit
    --no-ff参数,表示禁用Fast forward,因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去:$ git merge --no-ff -m "merge with no-ff" [color=green]dev[/color]
    把当前工作现场“储藏”起来:$ git stash
    查看储藏的工作现场列表:$ git stash list
    恢复“储藏”的工作现场同时把stash内容也删除:$ git stash pop
    恢复“储藏”的工作现场但不删除stash内容,需要用git stash drop来删除:$ git stash apply
    丢弃一个没有被合并过的“dev”分支:$ git branch -D [color=green]dev[/color]
    查看远程库的信息:$ git remote
    查看远程库的详细信息:$ git remote -v
    推送“dev”分支到远程:$ git push origin [color=green]dev[/color]
    在本地创建dev和远程分支对应的dev分支:$ git checkout -b dev origin/[color=green]dev[/color]
    指定本地dev分支与远程origin/dev分支的链接:$ git branch --set-upstream dev origin/[color=green]dev[/color]
    抓取分支:$ git pull
    打一个新标签v1.0:$ git tag v1.0
    查看所有标签:$ git tag
    对某一 commit id(例如6224937) 打标签:$ git tag v0.9 [color=green]6224937[/color]
    查看v0.9标签信息:$ git show v0.9
    创建带有说明的标签,用-a指定标签名,-m指定说明文字,3628164为示例commit id:$ git tag -a v0.1 -m "version 0.1 released" [color=green]3628164[/color]
    通过-s用私钥签名一个标签:$ git tag -s v0.2 -m "signed version 0.2 released" [color=green]fec145a[/color]
    删除本地v0.1标签:$ git tag -d v0.1
    推送v1.0标签到远程:$ git push origin v1.0
    一次性推送全部尚未推送到远程的本地标签:$ git push origin --tags
    删除本地v0.9标签:$ git tag -d v0.9
    删除远程v0.9标签:$ git push origin :refs/tags/v0.9
    让Git显示颜色:$ git config --global color.ui true
    配置st为status的别名:**$ git config --global alias.st status

    莫听穿林打叶声,何妨吟啸且徐行,竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。
  • 相关阅读:
    1.线程是什么?
    eclipse新手知识点1
    《图解Java多线程设计模式》UML用什么软件画?
    Microsoft SQL Server 2008完整+差异备份及还原实战
    xcopy
    导入EXCEL到数据库表中的步骤:
    js判断一个值是空的最快方法是不是if(!value){alert("这个变量的值是null");}
    Pytorch1.6.0 Nvidia Jetson TX2
    python所有的print就会自动打印到log.txt
    python import numpy right but import caffe wrong
  • 原文地址:https://www.cnblogs.com/WX1211/p/11152750.html
Copyright © 2011-2022 走看看