码农的好助手:版本管理工具git的使用

一、什么是github?

GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。

GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。
 
二、什么是git?
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git的读音为/gɪt/。
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
 
三、git的使用及特点
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
下图是经典的git开发过程。
Git的功能特性:
从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。
缺点:
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
 
四、如何使用git管理github及常用命令
  1.登录github网站https://github.com/注册账号(账号,邮箱,密码)
  2.下载git进行安装https://git-scm.com/
  3.在本地仓库目录右击鼠标选择菜单Git Bash here打开git的命令窗口

  4.在命令窗口输入命令git config --list查看配置,设置账号和邮箱:

git config --global user.name "用户名";

git config --global user.email "邮箱"

  5.使用git init命令创建本地仓库(在当前文件夹使用可设置当前文件夹为本地仓库),隐藏文件夹.git

  6.创建ssh-key连接远程仓库。

$ cd ~/.ssh检查是否存在key,$ ssh-keygen -t rsa -C "邮箱"生成ssh-key文件。

  7.在github.com设置ssh-key。

  8.使用git连接github.com($ ssh -T git@github.com)

五、git常用命令

git config --global user.name

git config--list

ls //本目录所有东西

cd Desktop //进入桌面

mkdir//创建文件夹 new_git

git init //创建本地仓库

git add -A//放入暂存区

git add a.txt //放入暂存区

git commit -m"first commit"//放入仓库区 “”中写说明

git status//查看暂存区变动

git log//查看提交记录

git push //提交


git clone //克隆,下载

git diff //添加忘记后查询

git log --pretty=online //查看简约版的提交记录

git reset --hard HEAD ^^ //回退一个版本

git reset --hard ()版本号

git reflog //获取版本号

git branch //查看分支

git checkout aaaa //切换分支

git git branch aaa //创建分支

git add -A

git commit -m"aaa"

git merge aaa//合并分支

git branch

git branch -d aaa

git remote -v//查看源

git remote add upstream 原作者地址 //添加原作者链接

git fetch upstream //

git merge upstream/master // 合并

id_sra。pub//要是

附件:

 GIT的使用方法

1.电脑首先安装GIT,

2.在官网注册GitHub账号。

一,使用git在控制台进行本地操作

1.打开GitBash

2.填写用户名和邮箱作为标识分别执行以下命令:

git/ config /--global /user.name /"用户名";

git /config /--global /user.email /"邮箱名";(注意"/"在这里代表空格,输入完指令回车)

3.$/git/config/--list(输入命令行)

会显示输入的用户名和邮箱

4.用cd文件路径找到别设为仓库的文件夹

$/cd/某盘例D:/git/gitproject(前2个/空格)

5.然后输入git init将文件设置成仓库

$/git/init

此时在gitproject文件中多了一个隐藏文件夹.git

6.在仓库中放入一个HTML文件,用模拟造作然后在控制台输入git status查看在工作区是否有为转到本地仓库的文件

$/git/status (注意:默认为master分支,此时test.html为红色字体)

当看到test.html为红色字体时,证明文件做过修改,但是还没有保存到暂存区。我们输入git add test.html 然后在输入git status查看,发现test.html变为绿色时,证明文件已经保存到暂存区。

$/git/add/test.html

$/git/status

注意:使用  git add 文件名       命令将文件保存到暂存区。然后输入 git commit -m "备注信息"命令将该文件提交到本地仓库。

$/git/commit/-m/"first"

$/git/status   (没有提交,工作树为空。)

此时文件夹中仍有文件。只是本次工作树的操作提交给本地仓库。次工作树的内容跟本地仓库存储的内容一致。而不是将文件夹中的文件删除。

7.向本地仓库保存文件的步骤为:

git add 文件名————>  git  commmit -m "备注信息"

8.输入$/git/log查看提交历史版本回退命令为:

$/git/reset/--hard/89af

9.文件的找回与删除

$/git checkout/--/"文件名"

$/git/status

删除:

$/git/rm/"文件名"

删除后用$/git/commmit/-m/"remove/文件名"备注起来。

二,与远程仓库链接

登录GitHub账号

1.配置GitHub密码钥匙

打开GitHub输入$/cd/-/空格.ssh查看是否存在密匙

2.如果没有密匙,则输入$/ssh-keygen/-t/rsa/-c/"邮箱地址"  创建密匙   有的话直接回车

3.找到文件,打开PUb文件复制里面的内容。打开GitHub网站,点击右上角绿色小块的Settings进去

4.点击SSH and GPG keys ,然后点击New SSH key,进入以后找到Title框为空,将密匙复制Key文本框中,最后点击Add SSH key,显示密匙关联成功。

5.输入  $/ssh/T/git@github.com   点击GIt网站中右上角的加号,创建网络仓库,再选Newrepository,然后输入仓库名 $/git/remote/add/origin/git@github.com:AlexanderLeading反斜杠Study.git

6.$/git/push/-u/origin/master   进入远程仓库看一下结果  点击You profile  在Study中多了文件最终上传成功。

三, 创建分支

分支:就是没有完成的作品,分多次完成,最后合并到原来分支上。

1.输入$/git/checkout/-b/dev  创建一个dev开支

$/git/branch查看现有分支

2.输入 $/git/checkout/master  切回分支查看文件内容

3.如果项目完成可以输入  $/git/branch/-d/dev   

$/git/branch  删除成功,只剩master分支。

原文地址:https://www.cnblogs.com/tengqiuyu/p/7142336.html