git教程

Git库在本地有三部分组成:工作区索引区(临时的存储区域),仓库。用户新增、修改等过程都是在工作区 ,用户通过 add 命令增加的文件都会在索引区中,用户通过 commit 命令提交的文件都会在 仓库 中。
使用git时,为了方便操作,会先配置个人信息——配置用户名,用户邮箱:

# 配置全局用户名、配置全局邮件地址(全局意味着本地的所有仓库,若没有参数 --global则仅配置当前仓库)
$ git config --global user.name "Your Name" 
$ git config --global user.email "email@example.com"

而后会关联本地仓库并与远程仓库:

# 1.创建本地仓库后,添加远程仓库
$ mkdir your_repository    # 创建一个空目录 (并非一定是空目录,建议如此)
$ cd your_repository
$ git init # 创建本地仓库
# origin 是给远程库 git@github.com:xxx/xx.git 定义的名称,可用别的名字代替
$ git remote add origin git@github.com:xxx/xx.git

# 2.无本地库,直接从远程库克隆
$ git clone origin git@github.com:xxx/xx.git

新增、修改文件后,将文件提交至索引区

$ git add *    # (所有改动文件都将被增加至索引区)
$ git add *.py #(所有改动过的以.py结尾命名的文件都会被增加至索引区,以此类推)
$ git add filename # (filename 会被增加至索引区)
$ git add filename1 filename2 # (filename1和filename2会被增加至索引区,以此类推)

工作区恢复

有时候需要对当前工作区的改动恢复到未改动的状态,那么:
$ git checkout -- <filename>

撤销已提交至索引区的文件

对文件 a.py 程序做了改动,执行:
$ git add a.py
发现 a.py 仍存在bug,需撤销提交至索引区:
git reset HEAD a.py

索引区文件提交至仓库

# -m 参数后为 提交内容的说明 方便以后跟踪文件改动的内容
$ git commit * -m "comment"    # (所有改动文件都会被提交至仓库)
$ git commit *.py -m "comment" #(所有改动过的以.py结尾命名的文件都会被提交至仓库,以此类推)
$ git commit filename -m "comment" # (filename 会被提交至仓库)
$ git commit filename1 filename2 -m "comment" # (filename1和filename2会被提交至仓库,以此类推)

版本回退

如果对a.py的文件已经commit 了,而此刻需要上一个版本,或者上几个版本的文件,那么:
$ git reflog
af8d38c HEAD@{1}: commit: 通用转移数据脚本
17ab7ea HEAD@{2}: commit: 提交造数据脚本的配置脚本
ad548ee HEAD@{3}: commit: 适用于mysqldb的造数据脚本

$ git reset --hard 17ab7ea # 17ab7ea 是 commit_id, 命令git reflog 返回的第一列
HEAD is now at 17ab7ea 提交造数据脚本的配置脚本

操作分支

查看当前分支(带*号的表示当前分支)
$ git branch
* dev
  master
 创建分支 dev2
 $ git branch dev2
 切换分支到 dev2
 $ git checkout dev2
 创建dev并切换分支为dev
 $ git checkout -b dev
 删除分支dev2
合并分支dev2到当前分支
$  git merge dev2
合并分支dev2到当前分支(强制禁用Fast forward模式——当分支被删除后,分支的信息可以被找到,若不禁用,则无法被找到)
$  git merge --no-ff -m "merge with no-ff" dev2
删除未被合并过的分支 dev3
$ git branch -D dev3

保存当前工作区

开发新功能时,发现上一版本的bug,那么需要保存当前工作区
$ git stash
而后在上一版本切分支,修复缺陷完事后,恢复当前工作区
$ git stash pop # 
上述 git stash pop 也可以用一下命令代替:
$ git stash apply	# 此时用 $ git stash list命令查看,工作区是有东西的
$ git stash drop	# 此时用 $ git stash list命令查看,工作区是空的

注:带“$”号的为命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值