我的git学习笔记(一)留存以备将来忘记时查询。

时间:2020-12-31 00:47:56

安装GIT

GIT官网 选择自己对应的系统版本 下载安装。

初始化仓库

 $ git init

克隆已有仓库

$ git clone [url]  //如下例:
$ git clone https://g*.com/c****/***.git
$ git clone https://g*.com/c****/***.git otherName //重命名为

查看仓库状态

 $ git status
$ git status -s //简写的更为紧凑的格式输出

我的git学习笔记(一)留存以备将来忘记时查询。

忽略文件.gitignore的配置

$ touch .gitignore  //创建 找个文本编辑器编辑需要忽略的文件或文件夹

demo/ //忽略demo文件夹下所有文件
demo/*.txt //忽略demo下的所有txt文件但不含子目录
demo/**/*.txt //忽略demo下所有txt文件
...

$ cat .gitignore //查看哪些是需要忽略的

添加至暂存区

$ git add  * || a.txt || *.css //视情况选择

//取消暂存

假如修改2个文件,想做两个独立提交 却输入了 git add * 执行如下操作:
$ git reset HEAD a.txt //取消a文件的暂存

移除文件

$ git rm  * || *.txt || ...
//文件继续保留在磁盘上,但取消git的跟踪
$ git rm --cached me.txt
$ git rm log/\*.log

移动文件(改名)

$ git mv fileFrom fileTo
$ git mv a.txt aa.txt
//撤销对文件的修改
$ git checkout -- [file] //危险命令,请确认是否确实不再需要 留在分支中去做更好。

配置

$ git config --global  user.name czx****0
$ git config --global user.email czx****@163.com
//查看配置信息
$ git config --list
//具体一项 如:
$ git config user.name

提交

$ git commit -m 'test first time'
//最好不要忘记-m 说明,简短说明此次增加或改动的相关功能文件,以备查看。


//未带-m 说明时会进入vim。 按i键,光标闪动在最上面,此时可输入提交说明信息 输入完成后按Esc键, 输入:wq退出vim 回到git界面


//自动暂存并提交所有已跟踪过的文件,省略一个git add步骤。

$ git commit -a

$ git commit --amend //撤销操作 如下例子:

$ git commit -m 'fisrt com'
$ git add someFiles
$ git commit --amend
//最终只有一个提交,第二次将代替第一次结果

查看提交历史

$ git log [-p] [-2] // -p显示每次提交的内容差异 -2最近两次提交  --其他选项 记得查询官网文档

$ git log -2
commit 0bfb97a55ef3a20912b108cdee8683cc20e3e135
Author: czx <*****@163.com>
Date: Fri Jun 2 17:54:48 2017 +0800

test 03 delete .idea

commit 4aa99b4ce4ed6cfecdb2643ff1a5b34ee71c0e7d
Author: czx <*****@163.com>
Date: Fri Jun 2 17:52:03 2017 +0800

test 02

回到某个历史版本

log命令后, 找到commit值 执行下面命令
git reset --hard 4aa99b4ce4ed6cfecdb2643ff1a5b34ee71c0e7d

远程

//增加远程仓库 $ git remote add <name> <url>
$ git remote add origin https://gitghub.com/c***0/test01.git

//推送至仓库
$ git push [remoteName] [branchName]
$ git push origin master //默认的分支

//查看远程仓库
$ git remote -v
$ git remote show [remoteName]
$ git remote show origin / mytest / aa /...

//获取远程仓库数据
$ git fetch [remoteName]
$ git fetch origin / mytest / ab / ...

//远程仓库移除与重命名
$ git remote rename oldName newName
$ git remote rm mytest

列出标签

$ git tag //所有
$ git tag -l 'v1.3.*' //只列出1.3系列的

//创建附注标签
$ git tag -a v1.2 -m 'my version 1.2'
$ git show v1.2 //显示标签对应信息

//创建轻量标签
$ git tag v1.2-lw
$ git show v1.2-lw

//推送标签共享
$ git push origin v1.2
$ git push origin --tags //批量推送

GIT别名

$ git config --global alisa.co checkout
$ git config --global alisa.cm commit
$ git config --global alisa.br branch
$ git config --global alisa.st status
//以后输命令时 简写如:$ git cm ,$ git st 等等

$ git config --global alisa.unstage 'reset HEAD --'
$ git unstage fileA <=等价于=> $ git reset HEAD -- fileA

$ git config --global alisa.last 'log -1 HEAD'
$ git last //查看最后一次提交

获取帮助

//verb 表示具体命令 如push commit add 等
$ git help <verb>
$ git <verb> --help
//如 获取config命令的手册
$ git help config

常用指令

 - pwd //显示当前工作目录
- ls //列出当前目录下所有文件
- mkdir //创建目录
- rmdir //删除目录
- cd //进入**目录
- touch //创建文件
- cat //查看指定文件的内容
- clear //清空当前屏幕信息


小白菜学习笔记,根据我自己的理解整理记录,

如有理解偏差及错误,请大神们不吝赐教。

Created with Raphaël 2.1.0 a a b b who are you? I'm world hello world! bye bye