git/github运用

git/github运用

https://www.cnblogs.com/yydcdut/p/3898223.html

了解git和svn很久了,但是一直没有拿来做过版本控制管理,虽然svn有用到过,但是觉得还是运用git的比较多吧,尤其github。

Git术语                                                                    

 
术语 定义
仓库 一个仓库包括了所有的版本信息、所有的分支和标记信息.
Repository 在Git中仓库的每份拷贝都是完整的。仓库让你可以从中
  取得你的工作副本。
  一个分支意味着一个独立的、拥有自己历史信息的代码线
分支 (code line)。你可以从已有的代码中生成一个新的分支
Branches ,这个分支与剩余的分支完全独立。默认的分支往往是叫
  master。用户可以选择一个分支,选择一个分支叫做
  checkout.
标记 一个标记指的是某个分支某个特定时间点的状态。通过标
Tags 记,可以很方便的切换到标记时的状态,例如2014年8月25
  号在testing分支上的代码状态
提交 提交代码后,仓库会创建一个新的版本。这个版本可以在
Commit 后续被重新获得。每次提交都包括作者和提交者,作者和
  提交者可以是不同的人
URL URl用来标识一个仓库的位置
  用来表示代码的一个版本状态。Git通过用SHA1 hash算法
修订 表示的id来标识不同的版本。每一个 SHA1 id都是160位长
Revision ,16进制标识的字符串.最新的版本可以通过HEAD来获取.
  之前的版本可以通过”HEAD~1″来获取,以此类推。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

索引                                                                         

Git 需要将代码的变化显示的与下一次提交进行关联。举个例子,如果你对一个文件继续了修改,然后想将这些修改提交到下一次提交中,你必须将这个文件提交到索引中,通过git add file命令。这样索引可以保存所有变化的快照。

新增的文件总是要显示的添加到索引中来。对于那些之前已经提交过的文件,可以在commit命令中使用-a 选项达到提交到索引的目的。

Git安装                                                                     

在Ubuntu上,可以通过apt来安装git命令行工具

sudo apt-get install git-core

Git配置                                                                      

你可以在.gitconfig文件中防止git的全局配置。文件位于用户的home目录。上述已经提到每次提交都会保存作者和提交者的信息,这些信息都可以保存在全局配置中。后续将会介绍配置用户信息、高亮显示和忽略特定的文件。

  • 用户信息

通过如下命令来配置用户名和Email

git config --global user.name "Example Surname"

git config --global user.email "your.email@gmail.com" # Set default so that all changes are always pushed to the repository git config --global push.default "matching"

获取Git配置信息,执行以下命令:

git config --list

  • 高亮显示
git config --global color.status auto
git config --global color.branch auto

  • 忽略特定的文件

可以配置Git忽略特定的文件或者是文件夹。这些配置都放在.gitignore文件中。这个文件可以存在于不同的文件夹中,可以包含不同的文件匹配模式。为了让Git忽略bin文件夹,在主目录下放置.gitignore文件,其中内容为bin。

同时Git也提供了全局的配置,core.excludesfile。

  • 使用.gitkeep来追踪空的文件夹

Git会忽略空的文件夹。如果你想版本控制包括空文件夹,根据惯例会在空文件夹下放置.gitkeep文件。其实对文件名没有特定的要求。一旦一个空文件夹下有文件后,这个文件夹就会在版本控制范围内。

github操作                                                                  

  • 获得密钥
ssh-keygen -t rsa -C "xxx@mail.com"

  • 登陆github系统

点击右上角的 Account Settings—>SSH Public keys —> add another public keys

把你本地生成的密钥(~/.ssh/id_rsa.pub文件中)复制到里面(key文本框中), 点击 add key 就ok了

  • 接着打开git ,测试连接是否成功
ssh -T git@github.com 

如果提示:Hi defnngj You’ve successfully authenticated, but GitHub does not provide shell access. 说明你连接成功了

  • github上创建立一个项目

击页面右下角“New Repository”

填写项目信息,点击“Create Repository” ; 现在完成了一个项目在github上的创建。

  • 克隆github上新创建的项目
git clone git@github.com:xxxx/xxxxx-demo.git 
//git clone git@github.com:用户名/项目名字.git

  • 提交修改
git add .
git commit –m ”new files” git push
#或者
git remote add origin git@github.com:xxxx/xxxx-demo.git

  • 更新版本
git fetch origin
//取得远程更新,这里可以看做是准备要取了 git merge origin/master //把更新的内容合并到本地分支/master

  • 简单常用命令
git remote -v  
//查看你当前项目远程连接的是哪个仓库地址。 git status //查看当前项目下所有文的状态,

  • 远程项目与本地项目联系起来
git remote add origin git@github.com:xxxx/xxxx-demo.git

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113322.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HMM超详细讲解+代码[通俗易懂]

    HMM超详细讲解+代码[通俗易懂]写在前面本文目标Why-什么场景下需要HMM模型What-HMM模型的相关概念定义HMM模型的5元组HMM中的3个经典问题How-HMM模型中的3个经典问题评估评估描述评估理论推导评估实际算法前向计算python前向算法代码预测预测描述维特比算法python维特比算法代码学习EM算法实例理解baum-welch算法的思路python代码baum-w

    2025年8月15日
    3
  • 迭代器Python_python迭代器使用

    迭代器Python_python迭代器使用迭代器迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。可迭代对象我们已经知道可以对l

    2022年8月6日
    8
  • leetcode-146. LRU 缓存机制(hash+双向链表)

    leetcode-146. LRU 缓存机制(hash+双向链表)运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久

    2022年8月9日
    6
  • 五子棋 人机对战 思路「建议收藏」

    五子棋 人机对战 思路「建议收藏」五子棋之人机对战思路:1,棋盘与棋子的实现2,玩家下完棋后,计算机要根据当前玩家所下的棋子找出最佳下棋点3,输赢的判断之前已经把人人对战的大概方法实现了,接下要实现的是人机的对战。我的思路如下(当然只是思路哈~还没具体实现呢):其实人机对战就是就在我们下完一步起后,通过电脑分析下一步该走哪,对此做出判断并在最佳的位置上出棋。1,首先需要定义权值,我做…

    2022年6月17日
    66
  • Idea 2021年激活码刚出(最新序列号破解)

    Idea 2021年激活码刚出(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    102
  • duilib是什么_double blind

    duilib是什么_double blind部分BUG一、WindowImplBase的bug在第8个教程【2013duilib入门简明教程–完整的自绘标题栏(8)】中,可以发现窗口最大化之后有两个问题,1、最大化按钮的样式还是没变,正确的样式应该是这样的2、再次点击最大化按钮,不能还原到正常大小。这个是WindowImplBase的bug,已经提交给官方有一段时间了,但是貌似没有被合并到SVN上去,所以这里说明一下,我们需要在WindowImplBase的OnSysComma…

    2025年5月22日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号