Linux中git的使用

之前在windows中一直采用github的桌面版,库的建立更新都是借助软件的帮助。所使用的的功能也非常局限,仅仅只是创建库再提交自己的代码。至于版本管理、回滚、分支以及git的结构都没有清楚的认识。这次由于任务需要,在ubuntu中必须使用git来链接github,所以必须接触一些git的命令,也对git的思想有了进一步的认识。这里简单梳理以下,作为备忘录。文末也附上我参考的博客,有兴趣的可以进一步阅读。

一些认识

之前对github和git一直傻傻分不清,以为是两种不同的版本管理工具。现在才认识到git是一种版本管理工具,而github只是一个远程仓库。实际上没有github这种远程仓库,你计算机中git也会建立一个本地的仓库,或者链接到其他的远程仓库。

1. git的安装

输入命令安装git,并查看版本以确认安装成功。

sudo apt-get install git
git --version

2. git的使用

先解释一些概念,git分四层管理代码。

  1. 你目录中的文件是第一层
  2. 缓存区,每次add之后,当前目录中要追踪的文件会作为一个版本会存放在缓存区。注意不是所有的文件。一般一个文件生成之后,会标记为“未追踪”,但是否对其做版本管理还是要选择的。例如一些编译文件就没有必要追踪。对需要做版本管理的问件,用add添加,不需要的用clean删除。
  3. 本地仓库,每次commit之后,缓存区最新的版本就会存放在本地仓库。这里要提及一个HEAD的概念。HEAD是当前的版本指向,每次更新或者回退都会修改HEAD的指向,但对仓库中每一个版本并不会删除。所以即使回退到过去还是有机会回到现在的版本的。
  4. 远程仓库,每次push之后,会将本地仓库中HEAD所指向的版本存放到远程仓库

这里附上一些我常用的命令作为备忘录,详细的使用效果请参考我文末附上的博客链接。

命令 功能
git init 在本地的当前目录里初始化git仓库
git status 查看当前仓库的状态
git add -A 增加目录中所有的文件到缓存区
git add file 增加相应文件到缓存区
git commit -m "信息" 将缓存区中更改提交到本地仓库
git log 查看当前版本之前的提交记录
git reflog 查看HEAD的变更记录,包括回退
git branch -b branch_name 建立一个新的分支
git diff 查看当前文件与缓存区文件的差异
git checkout -- file 取消更改,将缓存区的文件提取覆盖当前文件
git reset --hard 版本号 回退到相应版本号,同样也可以回退到未来的版本号
git clean -xf 删除当前目录中所有未追踪的文件
git config --global core.quotepath false 处理中文文件名

这些命令用于处理本地仓库的版本管理足够了,下面我介绍与远程仓库打交道。

2. git与github的链接

首先我们认为你已经有一个github的账户。

然后我们要建立SSH链接。这是一种通讯的加密协议。我先在我的笔记本上计算一对公钥和私钥,将公钥存储在github中,这样本地就可以通过SSH与github展开加密通讯。详细的内容可以参考SSH原理与运用(一):远程登录

建立方法,输入命令

ssh-keygen -t rsa -C "[email protected]" //双引号里面是你的常用邮箱

输入之后要输入口令,可以不用输入直接按“enter”一路确认就可以了。然后在账户的根目录(/或者/home/你的账户名,具体取决于你执行上述命令时所采用的账户)查找隐藏目录.ssh/id_rsa.pub文件,将当中内容添加到github中。

这样你就可以通过SSH链接到github中了。但是github作为一个远程仓库,你可以链接这个仓库,并保持同步。但是你不能把本地仓库直接上传到github中去。所以你应该先在github中建立一个对应的仓库,然后再在本地建立一个仓库,将两者进行链接,再去写入文件执行版本管理。所用到的命令有

git remote add origin [email protected]:<用户名>/<仓库名>.git
git pull origin master //因为github建立仓库时会有readme.md文件,先要拷贝一份
git push -u origin master //将本地仓库链接到master分支上,你当然可以链接到其他分支
git push//上传你的本地仓库

还有一种方法不用分两地建库再去链接。你可以只在github上建库,然后clone到本地目录中。

git clone [email protected]:<用户名>/<仓库名>.git

至于团队合作中的分支管理,由于现在还用不到,等以后有机会试用在去学习吧。



git与github简单教程

原文地址:https://www.cnblogs.com/sgdd123/p/8338403.html

时间: 2024-08-13 04:44:49

Linux中git的使用的相关文章

Linux中git的常用命令

1.安装依赖包 sudo yum install curl-devel expat-devel gettext-developenssl-devel zlib-devel sudo yum install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev 2.安装git yum -y install git 3.创建项目目录 mkdir gitbase cd gitbase 4.创建共享库 sudo git init 5.

linux下git命令行的颜色配置

在Windows系统中安装了git客户端之后在git bash中用git命令 git status,git diff等时,修改过的文件自动显示为红色.在linux中git安装后颜色是不自动设置的.下面的命令设置git的颜色: git config --global color.status auto git config --global color.diff auto git config --global color.branch auto git config --global color

Linux中添加用户、删除用户时新手可能遇到的问题

Linux中添加用户.删除用户时新手可能遇到的问题  1.创建新用户后切换到新用户:No directory, logging in with HOME=/     添加用户     #sudo useradd -m -s /bin/bash -g group loginname     -m 创建home目录 (不加这个要手动添加目录,不然会出现No directory,Logging in with HOME=/ )     -s /bin/bash 使用bash( 默认为 /bin/sh

Linux下git基本使用总结&lt;4&gt;

1.设置别名 例: git config --global alias.st status      用st代替status 以后查看状态git status-> git st 即可 也可以包含参数 例: git config --global alias.ci  "commit -m" 以后提交时 git commit -m "balabala"  -> git ci "balabala" git config 有几种参数 可以为g

Linux下git安装配置

一.Linux下git安装配置 2013-07-28 20:32:10|  分类: 默认分类 |  标签:linux  git  server  |举报|字号 订阅 http://abomby.i.sohu.com/blog/view/168755260.htm http://www.linuxidc.com/Linux/2011-12/48555.htm Git是分布式的版本控制系统,实际上是不需要固定的服务器的,Git与svn的最大区别是,它的使用流程不需要联机,可以先将对代码的修改,评论,

阿里云 linux搭建git服务器

git是非常方便的版本控制工具,目前网上有很多免费的git仓库可以给我们使用,但是有些时候我们并不放心将我们的项目寄放在别人的服务器上,这个时候就需要自己搭建一个git服务器. 在linux上面搭建git服务器是一件非常轻松的事情,只需要按照以下几步就能完成.为了确保整个过程的顺利,最好新创建一个名为git的账号,再使用该账号进行配置 1.安装git 在linux系统中,git安装只需要简单命令就可以完成,只需要打开终端,输入 sudo apt-get update sudo apt-get i

procps工具集 ----Linux中的可用内存指的是什么?

https://gitlab.com/procps-ng/procps free - Report the amount of free and used memory in the system kill - Send a signal to a process based on PID pgrep - List processes based on name or other attributes pkill - Send a signal to a process based on nam

OpenVAS:Kali Linux 中的漏洞评估工具

本教程将介绍在 Kali Linux 中安装 OpenVAS 8.0 的过程. OpenVAS 是一个可以自动执行网络安全审核和漏洞评估的开源漏洞评估程序.请注意,漏洞评估(Vulnerability Assessment)也称为 VA 并不是渗透测试(penetration test),渗透测试会进一步验证是否存在发现的漏洞,请参阅什么是渗透测试来对渗透测试的构成以及不同类型的安全测试有一个了解. 什么是 Kali Linux? Kali Linux 是 Linux 渗透测试分发版.它基于 D

linux下git的安装和使用(转)

转自:http://www.cnblogs.com/sunada2005/archive/2013/06/06/3121098.html 最近在使用github,感觉不错.在windows下,可使用github提供的windows客户端(http://windows.github.com/).很傻瓜,很方便.如何使用?详见:http://www.cr173.com/html/15618_1.html.(有图是王道)最近发现,在公司电脑上安装github的windows客户端时,可能由于公司网络限