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

    git版本控制学习笔记

    跟着大佬混,才发现,我学到的东西简直忒少了,卧槽。。。wsdd
    个人理解,结合github构成一个代码托管平台,可以多人协作
    而git是控制命令。

    现在介绍一下我目前用到的比较多的

    1.git的安装

    在win7系统里面可以从这个网址进行下载 https://git-scm.com/download/win
    是有官网并且免费的,直接下载就好了

    2.配置环境

    这个地方我使用的github的用户名和邮箱

    2.1 配置邮箱和用户名

    $ git config --global user.name "gaowenxin95"
    $ git config --global user.email "your_email@youremail.com"
    

    2.2 生成密钥SSH key

    ssh-keygen -t rsa -C "your_email@youremail.com"
    

    我是敲完命令直接按的回车

    一定要记住密钥生成的位置

    2.3添加密钥(SSH key),并验证是否成功

    注意:密钥可以生成多个,第一次生成的找不到了,那重新生成一个就好了
    添加密钥:将上一步骤生成的密钥即.ssh/id_rsa.pub中内容全部复制。在github的 Settings-->SSH and GPG keys-->New SSH key,key中粘贴复制的内容(Title自定义)。
    验证:github输入第一条的命令,码云输入第二条

    a.ssh -T git@github.com
    b.ssh -T git@gitee.com
    

    3 建立repository

    3.1 创建远程库

    1.远程仓库:在github中New repository 输入Repository name。[例如:project1]
    2.项目工程:在自己本地电脑上新建一个与github新项目工程同名的文件夹。[例如:project1]
    随便起名字,英文并且记住自己建库的地址

    创建版本库

    进入步骤二中的文件夹下,输入以下命令初始化仓库,若出现:Initialized empty Git repository in E:/** /**/.git/ 则表示创建成功[注意:此时会生成一个.git目录(隐藏目录)]

    初始化命令
    git init
    

    3.3连接远程库

    下面的两行命令似乎都可

    git remote add origin git@github.com:yourName/repositoryname.git
    
    git remote add origin https://github.com/yourName/repositoryname.git
    

    4 目前常用的命令

    4.1 git clone

    将远程库克隆到本地一份
    比如我克隆学长的(前提是学长对我开了权限):

    git clone http://xxx/xxx/xxx.git
    

    过程中可能要输入用户名和密码,反正就是github上面的用户名和密码
    然后在克隆到本地的repository文件下,找到含有.git文件所在的目录,要是看不到扩展名,记得关掉隐藏扩展名的选项
    右击 git bash here

    4.2 git status

    查看对当前项目所有的改动

    4.3 git add .

    对于改动要全部提交到远程(注意空格不要丢)

    4.4 git pull

    从远程仓库pull文件,保证远程库和本地库更新为一致

    4.5 git commit -m “注释”

    这个是用来给提交的东西做注释的,提醒协作者你做了哪些的改动

    4.6 git push origin master

    将全部的修改提交到远程库。

    一、本地操作:

    1.其它

    git init:初始化本地库

    git status:查看工作区、暂存区的状态

    git add :将工作区的“新建/修改”添加到暂存区

    git rm --cached :移除暂存区的修改

    git commit :将暂存区的内容提交到本地库

      tip:需要再编辑提交日志,比较麻烦,建议用下面带参数的提交方法

    git commit -m "提交日志" :文件从暂存区到本地库

    2.日志

    git log:查看历史提交

      tip:空格向下翻页,b向上翻页,q退出

    git log --pretty=oneline:以漂亮的一行显示,包含全部哈希索引值

    git log --oneline:以简洁的一行显示,包含简洁哈希索引值

    git reflog:以简洁的一行显示,包含简洁哈希索引值,同时显示移动到某个历史版本所需的步数

    3.版本控制

    git reset --hard 简洁/完整哈希索引值:回到指定哈希值所对应的版本

    git reset --hard HEAD:强制工作区、暂存区、本地库为当前HEAD指针所在的版本

    git reset --hard HEAD^:后退一个版本  

      tip:一个^表示回退一个版本

    git reset --hard HEAD~1:后退一个版本

      tip:波浪线~后面的数字表示后退几个版本

    4.比较差异

    git diff:比较工作区和暂存区的所有文件差异

    git diff :比较工作区和暂存区的指定文件的差异

    git diff HEAD|HEAD^|HEAD~|哈希索引值 :比较工作区跟本地库的某个版本的指定文件的差异

    5.分支操作

    git branch -v:查看所有分支

    git branch -d <分支名>:删除本地分支

    git branch <分支名>:新建分支

    git checkout <分支名>:切换分支

    git merge <被合并分支名>:合并分支

      tip:如master分支合并 hot_fix分支,那么当前必须处于master分支上,然后执行 git merge hot_fix 命令

      tip2:合并出现冲突

        ①删除git自动标记符号,如<<<<<<< HEAD、>>>>>>>等

        ②修改到满意后,保存退出

        ③git add

        ④git commit -m "日志信息",此时后面不要带文件名

    二、本地库跟远程库交互:

    git clone <远程库地址>:克隆远程库

      功能:①完整的克隆远程库为本地库,②为本地库新建origin别名,③初始化本地库

    git remote -v:查看远程库地址别名

    git remote add <别名> <远程库地址>:新建远程库地址别名

    git remote rm <别名>:删除本地中远程库别名

    git push <别名> <分支名>:本地库某个分支推送到远程库,分支必须指定

    git pull <别名> <分支名>:把远程库的修改拉取到本地

      tip:该命令包括git fetch,git merge

    git fetch <远程库别名> <远程库分支名>:抓取远程库的指定分支到本地,但没有合并

    git merge <远程库别名/远程库分支名>:将抓取下来的远程的分支,跟当前所在分支进行合并

    git fork:复制远程库

      tip:一般是外面团队的开发人员fork本团队项目,然后进行开发,之后外面团队发起pull request,然后本团队进行审核,如无问题本团队进行merge(合并)到团队自己的远程库,整个流程就是本团队跟外面团队的协同开发流程,Linux的团队开发成员即为这种工作方式。

    Refence

    1.https://www.cnblogs.com/zeo-to-one/p/8367801.html
    2.https://my.oschina.net/u/3828037/blog/1838718
    3.https://www.cnblogs.com/convict/p/10795320.html

  • 相关阅读:
    第二十一章流 1流的操作 简单
    第二十章友元类与嵌套类 1友元类 简单
    第十九章 19 利用私有继承来实现代码重用 简单
    第二十章友元类与嵌套类 2嵌套类 简单
    第十九章 8链表类Node 简单
    第二十一章流 3用cin输入 简单
    第十九章 10 图书 药品管理系统 简单
    第十九章 11图书 药品管理系统 简单
    第二十一章流 4文件的输入和输出 简单
    第十九章 12 什么时候使用私有继承,什么时候使用包含 简单
  • 原文地址:https://www.cnblogs.com/gaowenxingxing/p/12010148.html
Copyright © 2011-2022 走看看