Git介绍

一. Git简介

GitHub是一个非常流行的代码托管平台,基于Git版本控制技术实现,许多开源项目都在GitHub上发布。同时又是一个活跃的开发者交流社区,可以在上面和许多技术牛人学习和交流。

Git是目前世界上最先进的分布式版本控制系统,由Linux系统之父在2005年用C语言开发。

Git的功能:版本控制,包括版本管理、远程仓库、分支协作。

  • 版本管理:可以覆盖之前的版本,迭代最新的版本,过去的版本在Git上也可以查看和切换。
  • 远程仓库:可以从Git上clone到不同的本地上,也可以在本地提交到远程去。
  • 分支协作:把一份代码或文件拷贝成多个分支,多人在不同分支上做修改,通过分支合并,把结果进行合并。

 

二. 功能原理

Git版本控制系统由工作区、缓存区、本地仓库组成。

Git跟踪的是文件的修改而不是全部的文件。

Git擅长管理代码等文本文件,不擅长管理图片等二进制文件。

 

 

 

三. Git上传及克隆

首先安装配置Git。windows下载安装后可以在Gitbash中执行git命令,也可以在Jupyter Notebook中执行

1. 配置用户名和邮箱

!git config --global user.name 'cymx66688'

!git config --global user.email '12345@163.com'

2. 创建仓库git-learn

创建目录

%mkdir git-learn

%cd git-learn

!git init

3. 提交文件

创建readme.txt文件

!echo 'hello world'>>readme.txt

添加到缓存区

# git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

# git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)

# git add -A :是上面两个功能的合集(git add --all的缩写)

!git add -A

提交, -m做注释

!git commit -m'add readme.txt'

4.推送远程仓库

要首先在Git上添加一个远程仓库,右上角+号选择Newrepository,填上repositoty name

 

 

!git remote add origin https://github.com/cymx66688/git-learn.git

!git push -u origin master

5. 克隆远程

git上左上角搜索想要找的内容,点击链接,选择右上角的fork,就直接克隆到自己的git上了。

 

克隆到本地

! git clone https://github.com/cymx66688/Git-Tutorial-By-liaoxuefeng

 

四. Git常用命令

  命令列表 示范1 示范2 示范3
安装配置 

config(配置信息)

help(帮助信息)

status(当前状态)   

设置用户名:

git config --global user.name'cymx66688'

获取常用的git命令列表:

git;git help

查看当前工作区和暂存区状态,获取提示:

git status

 
版本记录

init(创建仓库)

add(提交暂存区)

commit(提交修改)

reset(版本回退)

checkout(撤销修改)

diff(比较文件)

log(版本列表)

reflog(版本历史)

git init

git add readme.txt

git add -A

修改覆盖上一次commit

git commit -amend

先暂存再提交

git commit -a -m'modify readme.txt'

git reset --head HEAD^

git reset a23b5

撤销修改:

git checkout --readme.txt

 

查看工作区文件与暂存区文件区别:

git diff readme.txt

查看工作区文件和HEAD文件区别:

git diff --HEAD readme.txt

查看暂存区文件与HEAD文件区别:

git diff --cached readme.txt

查看两个版本某一文件的区别:

git diff a458b d23e5 --readme.txt

 

远程仓库 

remote(设置远程)

push(推送远程)

clone(克隆远程)

fetch(更新远程)

pull(合并远程)

使用ssh地址添加GitHub远程库:

git remote add github git@github.com:cymx66688/python.git

使用url地址添加远程库:

git remote add origin https://github.com/cymx66688/python.git

git remote -v

推送本地库至远程库origin的master分支:

git push -u origin master

将远程仓库克隆到本地:

git clone heeps://github.com/cymx66688/python.git

取回origin的develop分支与当前master分支合并(或会冲突):

git pull origin/develop:master

获取origin的develop分支跟新到本地:

git fetch origin develop

分支协作

branch(设置分支)

checkout(切换分支)

merge(合并分支)

rebase(重演分支)

stash(储藏管理)

tag(标签管理)

git branch

git branch develop

git checkout master

创建并切换到名称为feature的新分支:

git checkout -b feature

HEAD处于develop分支,合并feature分支(或会冲突):

git merge --no-ff -m'merge feature'  feature

使用当前所在分支作为base重演develop分支(或会冲突):

git rebase develop

git stash; git stash pop

git tag; git tag v1.0; git tag v0.9 a2543d

git push origin v1.0

删除远程标签(先删本地,再push):

git tag -d v0.9

git push origin :refs/tags/v0.9

posted @ 2019-05-19 18:01 cymx66688 阅读(...) 评论(...) 编辑 收藏