Git 操作流程


版本管理工具 Git

简介

Git是一款免费、开源的 分布式版本控制 系统,可以有效、高速的处理从很小到非常大的项目版本管理。

最初由林纳斯·托瓦兹(Linus Torvalds)创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。

来源
林纳斯·托瓦兹 自嘲地取了这个名字“ git ”,该词源自英国俚语,意思大约是“混账”。

安装

Windows 的用户可以在 这里 下载自己对应的版本。

Linux:

  • Debian/Ubuntu
    $ sudo apt install git
  • Fedora
    $ yum install git (up to Fedora 21)
    $ dnf install git (Fedora 22 and later)
  • Gentoo
    $ emerge --ask --verbose dev-vcs/git
  • Arch Linux
    $ pacman -S git
  • openSUSE
    $ zypper install git
  • FreeBSD
    $ cd /usr/ports/devel/git
    $ make install
  • Solaris 9/10/11 (OpenCSW)
    $ pkgutil -i git
  • Solaris 11 Express
    $ pkg install developer/versioning/git
  • OpenBSD
    $ pkg_add git
  • Red Hat Enterprise Linux, Oracle Linux, CentOS, Scientific Linux, et al.
    RHEL and derivatives typically ship older versions of git. If you cannot (or don’t want to) compile git from source, you may need to use a 3rd-party repository such as the IUS Community Project to obtain a more recent version of git.

Mac OS:的用户可以在 这里 下载自己对应的版本。

配置

  1. 添加个人信息
    # 设置提交代码时的用户信息
    $ git config [--global] user.name "[name]"
    $ git config [--global] user.email "[email address]"
    

e.g.

$ git config –global user.name yourname
$ git config –global user.email xxx@xxx.com


2. 添加远程仓库

增加一个新的远程仓库,并命名

$ git remote add [shortname] [url]

e.g.

$ git remote add origin https://github.com/yourname/your-repositories.git



新建代码库
---------

在当前目录新建一个Git代码库

$ git init

新建一个目录,将其初始化为Git代码库

$ git init [project-name]



克隆代码库
---------

下载一个项目和它的整个代码历史

$ git clone [url]



添加到暂存区
----------

添加当前目录的所有文件到暂存区

$ git add .



提交到本地仓库,并添加提交信息
--------------------------

提交暂存区到仓库区

$ git commit -m [message]

e.g.

$ git commit -m ‘这是一段关于本次提交的说明信息’



推送到远程仓库
------------

上传本地指定分支到远程仓库

$ git push [remote] [branch]

e.g.

$ git push origin master



从远程仓库拉取新信息
-----------------

1. pull 的方式拉取

取回远程仓库的变化,并与本地分支合并

$ git pull [remote] [branch]

e.g.

$ git pull origin master


2. fetch 的方式拉取
**建议用此命令获取新信息,此命令不会直接将远程分支与当前分支合并,拉取下来后再手动操作**

下载远程仓库的所有变动

$ git fetch [remote]

e.g.

$ git fetch origin master



其他
----

生成一个可供发布的压缩包

$ git archive


文章作者: 牟勇
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 牟勇 !
  目录