美文网首页
Git学习笔记(一)基础用法

Git学习笔记(一)基础用法

作者: 篮筐轰炸机5号 | 来源:发表于2018-05-05 16:54 被阅读0次

原文链接:https://zhang35.coding.me/2018-git-5-5.html

(补上周文章)

Git简介

Git是当前最流行的分布式版本控制系统。Git是一个本地软件,需要下载安装。

简化命令

为了方便使用,首先自定义简化指令:

$ git config --global alias.st status

更简单的做法是,在用户主目录下的隐藏文件.gitconfig 中加入:

[alias]  
    st = status  
    ci = commit  
    br = branch  
    co = checkout  
    df = diff  
    unstage = reset HEAD --
    last = log -1 HEAD

这样,git status/commit/branch/checkout等反人类的长命令,可以敲俩字母代替了。

新建版本库

在当前文件夹创建版本库:

$ mkdir leader-front
$ cd leader-front
$ git init

添加文件:

git add [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]
      [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
      [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]
      [--chmod=(+|-)x] [--] [<pathspec>…​]

添加指定文件:
$ git add file1.txt
$ git add file2.txt file3.txt

添加多个文件:
$ git add document/*.txt

添加所有文件:
$ git add .

.gitignore忽略文件

对于不想添加到仓库的文件,如Desktop.ini,可以通过写.gitignore文件忽略之。

https://github.com/github/gitignore提供了常用的配置文件。

.gitignore例子:

# Windows:
Thumbs.db
Desktop.ini

# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

把.gitignore文件单独提交到git后即生效。检验其是否生效方法是,$ git status命令是否显示working directory clean

提交修改:

git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]
       [--dry-run] [(-c | -C | --fixup | --squash) <commit>]
       [-F <file> | -m <msg>] [--reset-author] [--allow-empty]
       [--allow-empty-message] [--no-verify] [-e] [--author=<author>]
       [--date=<date>] [--cleanup=<mode>] [--[no-]status]
       [-i | -o] [-S[<keyid>]] [--] [<file>…​]

提交暂存区的改动:
git commit -m "info"

必须得有改动说明。如果没用-m指定,会单独开一个窗口让你写。

上传代码到远程仓库

通常使用Github等远程仓库存储、共享代码。

Github是Git的一个网络实现,提供了免费的远程代码存储仓库。

由于Github服务器在国外,访问速度感人,可以选用国内类似的代码仓库,比如:码云,coding.net等。

下面以Git+Github管理前端项目leader-front为例,总结如何使用远程仓库存储代码。

从本地上传代码到Github

关联远程仓库

登录Github,创建仓库leader-front,全是鼠标操作。
(在自己的Github账户中,需要添加本机SSH公钥后,才能推送)

回到本地命令行,关联远程仓库:

$ git remote add origin git@github.com:zhang35/leader-front.git

名为origin(origin是git远程仓库的默认名称),以后直接$ git push即可上传。

也可以起名为“github”,以后使用$ git push github上传。

上传代码

关联远程仓库后,直接输入$ git push后会提示:

fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master

因为此时只关联了仓库,还没关联分支。

不关联分支的情况下,执行:

$ git push origin master

即可将当前分支推送到远程origin下的master分支。

为了简化这一步骤,第一次推送前,根据提示添加默认关联分支:

$ git push --set-upstream origin master

或同时完成推送和关联:

$ git push -u origin master

加上-u参数,本地的master分支和远程的master分支就关联了起来。

如果出现如下错误:

error: src refspec master does not match any.
error: failed to push some refs to 'git@github.com:zhang35/leader-front.git'

则是因为此时本地仓库为空,需要添加、提交修改才能提交。

从Github获取代码

上一小节的做法是先有本地仓库,再与远程仓库关联。

更方便的做法是,先有远程仓库,从远程仓库克隆到本地,自动完成关联:

$ git clone git@github.com:zhang35/leader-front.git

$ git clone https://github.com/zhang35/leader-front.git

例子:将本地项目上传到Github管理的完整流程

$ mkdir leader-front
$ cd leader-front
$ git init
$ git add .
$ git ci -m 'add all'
$ git remote add origin git@github.com:zhang35/leader-front.git
$ git push -u origin master

小结

总结了Git的基本用法,以及使用远程仓库储存代码的基本方法。

相关文章

  • Git学习笔记(一)基础用法

    原文链接:https://zhang35.coding.me/2018-git-5-5.html (补上周文章) ...

  • Git常用命令与学习总结

    安装Git Git的下载地址:Git官网下载地址 学习网址 git 学习笔记- Book 在线练习地址 基础常用指...

  • Git book

    目录 git community book git入门 git笔记 git 用法 git安装使用手册 git命令大...

  • git基础用法(一)

    一、版本控制系统对比 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而大家工作的时候,用的都是自己的电脑...

  • 21天E战到底学习笔记Day11

    21天E战到底学习笔记Day11-认识函数,进阶用法 今天的学习内容继续是函数的基础知识,进阶用法, 一、绝对引用...

  • Git资料集

    Git这些高级用法,喜欢就拿去用 Git基础知识 Git廖雪峰 猴子都能懂的Git入门 git tag常用操作

  • RobotFramework学习02-基础关键字

    RobotFramework学习笔记目录 本文包含内容: 基础关键字 基础关键字(高级用法) 内置关键字查询 关键...

  • Git基础用法

    创建版本库 git init 添加文件 git add * 提交文件 git commit -m " " 查看...

  • git 基础用法

    小结 git config:配置相关信息 git clone:复制仓库 git init:初始化仓库 git ad...

  • GIT基础用法

    1 Git概况 1.1 Git是什么 Git是什么? Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何...

网友评论

      本文标题:Git学习笔记(一)基础用法

      本文链接:https://www.haomeiwen.com/subject/knprrftx.html