博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转载:Git入门
阅读量:5366 次
发布时间:2019-06-15

本文共 3270 字,大约阅读时间需要 10 分钟。

Git入门

1、下载

下载地址:http://git-scm.com/downloads

从这里可以下载到多种操作系统的支持版本,目前有:Mac、Windows、Linux、Solaris。

2、安装

在Linux 上安装:

如果你想在 Linux 上用二进制安装程序来安装 Git,可以使用发行版包含的基础软件包管理工具来安装。 如果以 Fedora 上为例,你可以使用 yum:

$ yum install git

在Windows上安装:

Windows版本是一个exe文件,与其它软件的安装方式是一样的。

3、初次使用Git前的配置

1)配置用户、邮箱:

$ git config --global user.name "fjn"$ git config --global user.email fs1194361820.com

如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

2)关联文本编辑器:

$ git config --global core.editor emacs

下面是windows系统上关联EditPlus的方法:

$ git config --global core.editor “\”D:\Program Files\EditPlus\x86\EditPlus.exe\””

4、查看help

$ git help 
$ git
--help$ man git-

也可以直接通过浏览器进行查看,因为Git相关问题就在Git安装目录下:

5、将现在项目纳入Git管理

如果你打算使用 Git 来对现有的项目进行管理,你只需要进入该项目目录并输入:

$ git init

         使用这个命令会初始化一个Git仓库,但你项目中的文件并没有加入到仓库中,所以需要做的就是将项目中的文件加入到仓库中,方法如下:

$ git add *.c$ git add LICENSE或者可以直接使用:$ git add *
最终使用:
$ git commit -m 'initial project version'

         或许你用习惯了SVN等,add命令入SVN中的加入是类似的,但又是不同的,最后需要提交。-m 后是commit comment。

6、从远程仓库clone项目

如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想为某个开源项目贡献自己的一份力,这时就要用到 git clone 命令。 如果你对其它的 VCS 系统(比如说Subversion)很熟悉,请留心一下你所使用的命令是"clone"而不是"checkout"。

$ git clone https://github.com/libgit2/libgit2

如果你想在克隆远程仓库的时候,自定义本地仓库的名字,你可以使用如下命令:

$ git clone https://github.com/libgit2/libgit2 mylibgit

7、Git管理下的文件的状态变化周期

请记住,你工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪。 已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改,已修改或已放入暂存区。 工作目录中除已跟踪文件以外的所有其它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有放入暂存区。 初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。

编辑过某些文件之后,由于自上次提交后你对它们做了修改,Git 将它们标记为已修改文件。 我们逐步将这些修改过的文件放入暂存区,然后提交所有暂存了的修改,如此反复。所以使用 Git 时文件的生命周期如下:

使用 git status 可以查看文件的状态,例如:

8、常用命令

1)将文件纳入跟踪: git add filename

2)将文件移除跟踪: git rm filename

3)要在 Git 中对文件改名,可以这么做:git mv,例如:

$ git mv README.md README

4)git log 查看提交日志

5)恢复指定文件:git checkout

最后将文件提交就行了,使用git commit。

如果想要直接提交文件,而不使用git add,可以:git commit –a –m ‘ commit message’。如果在提交时不指定comment,就会启动你指定的默认的文件编辑器,让你输入comments。

题外话:

编辑文件:直接在git bash中使用vim file,例如:

效果:

如果想在windows系统下也能够使用vim工具,可以使用gvim。

而在windows上可以使用这些命令的缘由是在git/bin目录下,有大量的相关的exe存在:

9、使用远程仓库

在前面第6小节中,已经说明了如何从远程仓库clone一个已存在的项目。这里就再说一些远程操作相关的其他内容:

1)  关联远程仓库

将远程仓库关联,就可以在本地仓库与远程仓库之前进行文件推送与拉取了。

git remote add name url

$ git remote add shortName https://github.com/userid/reposName

2)从远程仓库pull、fetch:

使用git pull,会将远程仓库中的指定分支到本地仓库的一个分支中,并将两者合并。

使用git fetch,会从远程仓库中抓取你没有的数据,但不会合并,必须手动合并。

3)push推送到远程仓库

使用git push reposName branchName,将仓库reposName中的branchName推送文件到远程仓库。

例如,要将本地修改好的代码同步到远程仓库中。就需要如下操作:

      a)使用{git add filename}, {git add --update filename}将添加(或者修改) 的文件在本地仓库上建立索引。

      b)使用{git commit -m your_commit_message} 将对代码的修改提交到本地仓库上。

      c)使用{git push remoteReposName branchName} 将本地仓库上的代码推送到远程仓库。

       例如下面就是将本地仓库的代码同步到远程仓库上,只不过这个远程仓库是在GitHub上的.

4)远程仓库重命名:

git remote rename oldName newName

其实是远程仓库在Git程序中的一个配置,并不会真正的改变远程仓库的名称,只是为了让你在使用时能够进行区分。

5)远程仓库移除:

git remote rm name

         同样并不会真正的删除远程仓库,而是你在使用git时,不能再对远程仓库进行操作了。

6)切换到远程分支:

git checkout -b {localBranchName} {origin}/{remoteBranchName} 

代表切换到远程分支 origin/remoteBranchName, 并在本地创建分支 localBranchName

例如:

         我先clone kafka trunk :

                  git clone https://github.com/apache/kafka.git .

         然后查看当前分支: git status

         最后切到0.10.0分支:git checkout -b 0.10.0 origin/0.10.0

转载于:https://www.cnblogs.com/Joke6688/p/10293453.html

你可能感兴趣的文章
利用bootstrap和webform的异步CRUD及分页
查看>>
HDUOJ 1879继续畅通工程(并查集)
查看>>
OC12_自动释放池
查看>>
Saiku资源帖
查看>>
解决手机页面中点击文本框,网页放大问题
查看>>
2-5
查看>>
牛客多校3 A-PACM Team(状压降维+路径背包)
查看>>
HDU - 4284 Travel(floyd+状压dp)
查看>>
1027 制作表格
查看>>
Android之Socket通信、List加载更多、Spinner下拉列表
查看>>
面向对象的介绍与特性
查看>>
typing-python用于类型注解的库
查看>>
20189215 2018-2019-2 《密码与安全新技术专题》第13周作业
查看>>
第四周作业
查看>>
一、HTML基础
查看>>
蓝牙进阶之路 (002) - HC-05与HC-06的AT指令的区别(转)
查看>>
mysql的limit经典用法及优化
查看>>
C#后台程序与HTML页面中JS方法互调
查看>>
mysql 同一个表中 字段a 的值赋值到字段b
查看>>
linux系统可执行文件添加环境变量使其跨终端和目录执行
查看>>