Git快速入门
Linux 平台上安装
可以使用安装包管理工具(apt-get)进行安装:
apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
libz-dev libssl-dev
apt-get install git
git --version
Windows 平台上安装
有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行:
安装包下载地址:msysGit
完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。在开始菜单里找到"Git"->“Git Bash”,会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。
常见术语
- Git: Version Control System
- Branch:系统不同版本(主要分支: master)
- Merge: 合并版本
- Github: Software/Tool for Git
- Repository/Git Project: 提交的版本
- commit: 提交当前版本
开始使用
首先cd至工作目录下,输入命令:
git init
当前目录下会生成一个名为“.git”的隐藏文件夹,该文件夹将保存用户所有的变更行为
接着设置用户名和邮箱,git commit
时会显示:
git config --global user.name "Kaiser"
git config --global user.email "xxxx@cqu.edu.cn"
git config --list
Git 文件状态
Git中的文件可以有四种状态。
初始化时文件处于Untracked,使用git add
可将文件转化为Staged,接着使用git commit
可将文件转化为Modified状态。
之后修改了文件内容后文件状态为Modified,而通过git add
+ git commit
提交了文件,文件状态就变为Unmodified。
提交新文件
编写完某个新文件后,输入命令:
git add +filename #提交一个文件至缓存区
git add . #提交所有文件
git status #查看当前状态
git commit -m "事务名" #将缓存区文件提交至repository
git log #查看提交记录
当我们修改了很多文件,而不想每一个都add,想commit自动来提交本地修改,我们可以使用-a标识。
git commit -a -m "Changed some files"
git commit 命令的-a选项可将所有被修改或者已删除的且已经被git管理的文档提交到仓库中。千万注意,-a不会造成新文件被提交,只能修改。
回退版本
使用命令git reset
回退:
git reset <commitID>
git log #查看当前版本之前的操作记录
git reflog #可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git reset 有三种模式:
- –hard:不保存当前变更,把文件还原为当时的状态
- –soft: 保留当前变更(即文件不变,改变git中的信息),且变更内容处于Staged
- –mixed(默认):保留变更,且变更内容处于Modified
切换Branch
Branch 会继承master之前的修改记录,但之后的修改互不影响
使用命令:
git branch #查看所有分支和当前分支(*)
git checkout -b <name><template> #以模板template创建新分支
git checkout -b <name>orgin<template> #以远程模板template创建新分支
git checkout name #切换分支,文件内容状态会相应变更
#Remote协作
使用github平台,复制github clone网址,在当前分支使用使用命令:
git clone+形如”git@github.com:xxx.git“
git push #上传更新
git fetch #获取远端仓库信息
git pull #下载更新(=fetch + merge)
Merge,rebase
暂时用不到。