`

用GIT做版本控制-并上传至github(转)

    博客分类:
  • git
 
阅读更多

安装Git

源码安装:

Git的工作需要调用curlzlibopenssl,expat,libiconv等库的代码,首先安装依赖环境:

1
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

之后在git官网下载最新的版本源代码:

http://git-scm.com/download

然后编译并安装:

 

1
2
3
4
# tar -zxvf git-1.8.4.2.tar.gz
# cd git-1.8.4.2
# make prefix=/usr/local all
# make prefix=/usr/local install

初次运行git前的配置

用户信息:

第一个要配置你个人的用户名和电子邮件地址,每次提交时都会引用这两条信息

1
2
# git config --global user.name "Leon Hao"
# git config --global user.email haolulue@163.com

文本编辑器:

设置默认使用的文本编辑器。Git需要你输入一些额外信息的时候,会自动调用一个外部文本编辑器给你用。默认操作系统指定默认编辑器,一般可能会是vi或者vim,如果你有其他的偏好,比如Emacs的话,可以重新设置:

1
# git config --global core.editor emacs

差异分析工具:

还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用vimdiff的话:

1
# git config --global merge.tool vimdiff

查看配置信息:

要查看已有的配置信息,可以使用git config --list命令:

1
2
3
[root@SK-UAT-MYSQL /]# git config --list
user.name=Leon Hao
user.email=haolulue@163.com

设置第一个仓库:

进入Rails的程序根目录下,也可以自己手动创建一个目录,然后进入创建的目录中

初始化一个空的仓库

1
# git init

Git默认会跟踪所有的文件,但是有一些文件是我们不需要跟踪的,例如Railsruby)会创建一些日志文件记录应用程序的动作,这些文件经常变化,我们不需要版本控制系统跟踪这些文件,git有忽略文件的机制:在应用程序的根目录创建一个名为.gitignore的文件,然后写入一些规则告诉git忽略哪些文件即可:

Rails命令默认创建的.gitignore文件

1
2
3
4
5
6
7
8
9
10
11
12
13
# See http://help.github.com/ignore-files/ for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
#   git config --global core.excludesfile '~/.gitignore_global'
# Ignore bundler config.
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-journal
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp

我们再加入一些规则,修改这个文件即可:(为了筛选出配合ruby使用,自己可以根据自己需要修改)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# See http://help.github.com/ignore-files/ for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
#   git config --global core.excludesfile '~/.gitignore_global'
# Ignore bundler config.
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-journal
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp
# Ignore other unneeded files.
doc/
*.swp
*~
.project
.DS_Store
.idea

添加文件并提交:

rails项目中的文件添加到git中,然后提交结果,git会按照.gitignore中的规则忽略文件

1
# git add .

查看状态:

通过这个命令你可以看到你提交那些文件,那些文件发生了改变

1
# git status

结果如下:

位于分支 master

要提交的变更:

(使用 "git reset HEAD <file>..." 撤出暂存区)

#

修改: README.md

#

添加注释:

添加commit,记录git你改变了哪些改动:

1
# git commit -m "add README.MD"

结果:

[master 9e22467] add README.MD

1 file changed, 1 insertion(+), 1 deletion(-)

查看提交历史信息:

1
# git log

结果:

commit 9e22467c28fffff0c81e088d7787672489a87a3d

Author: Leon Hao <haolulue@163.com>

Date: Wed Oct 30 17:38:24 2013 +0800

add README.MD

commit 7179995695f7f8852dd3d4e2b6b3ef63878d6cfb

Author: Leon Hao <haolulue@163.com>

Date: Wed Oct 30 15:30:45 2013 +0800

add README file

commit 29001e46fdcee1838215416f558d4a5110a6834e

Author: Leon Hao <haolulue@163.com>

Date: Wed Oct 30 15:25:26 2013 +0800

doccenter commit

撤销这次改动:

可以看到一个文件被删除了,但是这个改动只发生在工作区,还没有提交。这样我们就可以用checkout命令切换到前一个提交记录来撤销这次改动(其中-f意思是复制当前的改动)

1
# git checkout -f

分支,编辑,提交,合并

分支:

Git中的分支功能很强大,分支是对仓库的复制,在分支中所做的改动不会影响父级文件,大多数情况下,父级仓库是master分支,可以使用checkout命令,并指定-b创建一个新分支。

1
# git checkout -b testfz

查看分支:

1
# git branch

编辑:

1
# git mv README.rdoc README.md

提交:

查看状态

1
# git status

添加:

1
# git add .

注释:

1
# git commit -a -m "add"

-a:将现有的文件的所有改动(包括使用git mv创建的文件,对git来说并不是一个新的文件)添加进来

合并:

1
# git checkout master

结果:

切换到分支 'master'

1
# git merge testfz

结果:

更新 9e22467..3d64e79

Fast-forward

README.md | 1 -

1 file changed, 1 deletion(-)

清理分支:

1
# git branch -d testfz

GitHub

已经将项目代码纳入git版本控制系统,现在将其推送到github了,github是一个针对git仓库及分享社交平台,将代码拷贝存放一份到github有两个目的:其一是对代码的完整备份(包括完整的提交历史),其二方便以后的协作,这一步不是必须要做的,不过加入github可以给你提供机会参与到更广为认知的开源项目来

1、首先需要到github注册帐号

注册地址:https://github.com/

2、创建ssh keys

用于通过key的方式将git项目推送至github

官方说明:

https://help.github.com/articles/generating-ssh-keys#platform-linux

1
2
# cd ~/.ssh/
# ssh-keygen -t rsa -C "haolulue@163.com"

ssh key添加再自己的github中,连接为

https://github.com/settings/ssh

3、创建仓库的连接,设置如下:

https://github.com/new

 

140905785.png

4、上传至github

1
2
3
4
5
# git remote add origin git@github.com:haoxiaolu/doccenter
# git fetch
# git commit -a -m "add file"
# git add .
# git push

 

5、已经完成,可以直接再github中查看自己的项目

140941378.png

分享到:
评论

相关推荐

    在TwinCAT3中使用Git进行版本管理-整理版 1

    使用 Git 进行版本管理在 TwinCAT3 中 在 TwinCAT3 中使用 Git 进行版本管理,主要包括以下几个部分...在 TwinCAT3 中使用 Git 进行版本管理,可以对代码进行版本控制,回退到之前的版本,连接远程 GitHub 上传代码。

    Git-2.34.1-64-bit.zip 最新版本 2021-12-17上传

    此外,Git还支持远程仓库,通过服务如GitHub或GitLab,团队成员可以共享代码,协作开发,进行代码审查,并实现版本控制。 总之,Git-2.34.1-64-bit.zip是一个包含最新Git版本的实用压缩包,特别适合那些希望快速...

    Git-2.20.1-64-bit.exe,zip

    1、分布式:Git版本控制系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具。  2、保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态;可以在该保存点将多人...

    Git和GitHub教程 2017-03-21

    ### Git和GitHub教程知识点 #### 1.1 Git的诞生 - **背景**: Linus Torvalds 在2005年为了更好地管理Linux内核的源代码,创立了Git。 - **特点**: 分布式的版本控制系统,每一个克隆都是一个完整的备份。 - **优势*...

    Git-2.19.1-64-bit安装包

    除了基本的版本控制功能,Git还提供了许多强大的命令,如`git clone`用于复制远程仓库,`git add`用于暂存更改,`git commit`用于保存更改,`git push`用于上传本地更改到远程仓库,以及`git pull`用于获取并合并...

    Git和GitHub教程

    - **分布式版本控制系统**: 如Git,每个开发者的工作站上都保存着完整的历史版本数据,可以独立进行版本控制操作。 - **对比**: - **灵活性**: 分布式版本控制系统更灵活,可以在没有网络的情况下进行大部分操作。 ...

    Git-2.15.0-64-bit

    开发者可以通过Git命令行工具与GitHub进行交互,例如使用`git clone`下载远程仓库,`git push`上传本地更改,以及`git pull`获取并整合远程仓库的更新。 安装Git-2.15.0-64-bit.exe这个文件,用户将获得Git的命令行...

    Git-2.25.1-64-bit.rar

    Git的常用命令包括`git init`(初始化一个新的仓库)、`git clone`(复制远程仓库)、`git add`(暂存更改)、`git commit`(保存更改)、`git push`(上传本地更改至远程仓库)、`git pull`(获取并合并远程仓库的...

    使用git上传现有文件至github.docx

    ### 使用Git上传现有文件至GitHub知识点详解 #### 一、Git简介 Git是一款分布式版本控制系统,主要用于追踪在软件开发过程中对文件的修改历史。通过Git,开发者可以方便地管理代码的版本,支持多人协作开发,并且...

    开源项目-github-git-lfs.zip

    Git LFS采用客户端-服务器模式,通过Go语言编写,为开发者提供了一种存储和版本控制大型二进制文件的方法,避免了将大文件直接存入Git仓库导致的性能下降和存储空间浪费。 Git LFS的基本工作原理如下: 1. **文件...

    使用git上传代码到github

    使用 Git 上传代码到 GitHub Git 是一个版本控制系统,可以帮助开发者跟踪代码的修改记录,并且可以多人协作开发。GitHub 是一个基于 Git 的版本控制系统的托管平台,提供了免费的公共仓库和私有仓库。使用 Git ...

    Git-2.21.0-64-bit.rar

    Git是世界上最先进的分布式版本控制系统,尤其在软件开发领域被广泛使用。Git-2.21.0-64-bit.rar这个压缩包包含了Git的64位版本,版本号为2.21.0,适用于Windows操作系统。对于进行Python开发的程序员而言,Git是不...

    git使用教程,学会使用git以及github远程仓库操作

    Git使用教程,学会使用git以及github远程仓库操作 本资源提供了一个详细的Git使用教程,涵盖了Git的基本概念、安装、配置、创建本地仓库、关联远程分支、删除远程分支关联、删除分支、git stash、git reset、git ...

    Git与GitHub使用

    ### Git与GitHub使用详解 #### 一、Git简介与特性 **Git** 是一款非常流行的分布式版本控制系统,由Linus Torvalds于2005年为了更好地管理Linux内核开发而创建。与传统的集中式版本控制系统(如SVN)不同,Git的...

    git-maven-ant-github等jenkins手动上传hpi文件-相应依赖都有

    在jenkins的插件管理中,由于不能联网,需要手动上传hpi文件。在插件管理的高级页签中,选择hpi文件,当报错的时候,看详情提示,hpi上传要有先后顺序。挨个点击上传,没特别好的版本。这个rar里面是全部的有关联的...

    Git-2.31.0-64-bit.rar

    安装完成后,你可以在Git Bash中使用`ssh-keygen`命令生成一对密钥,并将公钥上传到你的GitHub或GitLab账户。 6. **设置环境变量**:为了让Git命令在任何目录下都能使用,需要将其bin目录添加到系统环境变量PATH中...

    progit-zh git官方文档-中文版

    - Git的发展迅速,并逐渐成为开源软件开发中的标准版本控制系统。 **1.3 Git基础要点** - **直接快照,而非比较差异**:Git对待数据更像是一个快照流,而非每次记录一系列文件变化。这意味着每次提交都会保存整个...

    git-repo-0.7.3.1-Windows-64.zip

    Git Repo 是一个版本控制系统工具,尤其在开源社区和软件开发领域广泛应用。这个“git-repo-0.7.3.1-Windows-64.zip”文件是Git Repo的一个Windows 64位版本的压缩包,它包含了运行和管理Git仓库所需的所有组件。...

Global site tag (gtag.js) - Google Analytics