GIT基本操作记录(init、clone、add、rm、mv、commit、log、status、config、diff等命令基本使用)

注:SVN和GIT的差异,SVN在每级目录下都有一个.svn/的控制信息目录,而git只在顶级目录有一个.git/控制信息目录。

#----------------------------------------------------------------------------------------------------------------------------------------------------
# git简单介绍 【2020年6月8日23:12:12】
#----------------------------------------------------------------------------------------------------------------------------------------------------
0、git / git help --all
	#查看git支持的常用子命令列表以及简单描述,git help --all可以查看完整的自命令列表

1、git --version 
	#查看git版本

2、git --help subcommand / git subcommand --help / git help subcommand  / git subcommand  help
	#以上命令都可以用来查看git子命令的帮助手册(安装git时包含的手册组件sudo apt-get install git-doc)

3、git commit -m "message text" / git commit --message="message text"
	#提交并使用给定的"message text"作为提交消息。-m 和 --message 作用一样,一个是选项加参数;另一个是选项等于参数。
	#短选项更常用一些。如果给定多个-m选项,它们的值将作为单独的段落连接起来。-m选项与-c、-c和-F互斥。

4、git <command>  --“XXXX” 
	#‘--’裸双破折号,用来分离一系列参数

#----------------------------------------------------------------------------------------------------------------------------------------------------
# git快速入门【2020年6月10日23:19:09】
#----------------------------------------------------------------------------------------------------------------------------------------------------
1、本地仓库(以下所有目录、文件均在 ROOT=/F/gitLearn/下):
	创建一个本地目录/F/gitLearn/,在gitLearn目录下创建编辑新的目录和文件,然后在/gitLearn/下执行:
	
	git init
		#将$ROOT目录作为一个git仓库,$ROOT目录下会产生一个.git/目录,
		#用来存储相关版本控制信息,该目录只在一级目录$ROOT下存在,区别于SVN会在每一级目录下都有一个.svn/
		
	git status          
		#查看当前版本库下的状态(会显示有新的目录和文件需要被add、rm、commit)
		
	git add *           
		#将$ROOT目录下创建的所有文件和目录(不包括.git/、.ingnore等控制文件/目录)添加到.git/对应的版本库
		
	git commit -m  "xxxx"
		#将add到中间状态暂存的修改/新建提交到仓库
		
	git log             
		#查看commit的提交历史日志
	
	#以上操作涉及以下几个步骤,可以观察其中命令执行的结果变化
	mkdir new_dir / touch new_file -> git init -> git status -> git add -> git status -> git commit -> git status -> git log
	
	#当git add index.html 之后对 index.html 进行了修改,下次commit -a -m "xxxx" 即可,不需要重复add,
	#或者重新git add index.html 然后git commmit -m "xxxx"也可以,没有什么特殊要求,由于一般除了修改可能会有新增文件
	#所以每次commit之前add一把,可能会更加方便,在开发初期,文件新增和修改都比较多时,也更加常用
	
	git show [log SHA code]
		#用于查看指定提交对象的提交内容,如果未指定[log SHA code]选项,则显示最近一次提交的相关信息,如下所示:
		#show-branch --more=n,用于指定额外的10个版本([master^] 为第一次提交)
		
	#------------------------------------------------------------------------------------------------------------
	#    $ git show edc7a056b5f91aa5393e56b2e2dbc1a9d5968a22
	#    commit edc7a056b5f91aa5393e56b2e2dbc1a9d5968a22
	#    Author: ApollonKangGitHub <mailbox_krj@163.com>
	#    Date:   Mon Jun 8 23:30:49 2020 +0800
	#    
	#    	initialized empty Git repository in .git/
	#    
	#    diff --git a/index.html b/index.html
	#    new file mode 100644
	#    index 0000000..a1fffb3
	#    --- /dev/null
	#    +++ b/index.html
	#    @@ -0,0 +1 @@
	#
	#    $ git show-branch --more=10
	#    [master] second commit don't need add file again
	#    [master^] initialized empty Git repository in .git/
	#------------------------------------------------------------------------------------------------------------

	git diff <sha1_1> <sha1_2>
	#查看指定的两次提交之间的差异

	git add <a.txt> -> git commit			
		#添加到库并提交添加操作
	git rm <a.txt> -> git commit			
		#从库中删除并提交删除操作
	git mv <a.txt> <b.txt> -> git commit	
		#对库中文件改名并提交修改(等价于:mv a.txt b.txt -> git rm a.txt -> git add b.txt -> git commit) 
	
	git clone <lib_source> <lib_salve>		
		#本地版本库克隆
	git clone <rmt_URL>	[dst_name]			
		#远端版本库克隆
	
	#克隆一个版本库
	#------------------------------------------------------------------------------------------------------------
	#    $ git clone public_html my_html
	#    Cloning into 'my_html'...
	#    done.
	#
	#    my_html 有着克隆对象的完整 git log 历史
	#------------------------------------------------------------------------------------------------------------

	#git配置文件
	#    --global配置的是基于用户的全局 "~/.gitconfig" 的修改
	#    而不加--global是基于版本库 ".git/config" 的配置)
	#    --system 则是配置系统全局的 "/etc/gitconfig" 文件
	#    三种类型的配置文件如下:
	cat /etc/gitconfig
	cat .git/config
	cat ~/.gitconfig
	
	#配置相关命令示例
	git config user.name "ApollonKangGitHub"
	git config core.filemode false
	
	git config --global user.name "ApollonKangGitHub"
	git config --global user.email "mailbox_krj@163.com"
	
	git config --system user.name "ApollonKangGitHub"
	git config --system user.email "mailbox_krj@163.com"
	
	#显示配置
	git config -l
	
	#删除配置示例(修改配置的话,直接将相关配置直接重新设置一遍)
	git config --unset [--global | --system] user.name

	#配置别名(为一个比较长的带选项的命令配置别名)
	git config [--global | --system] alias.<new_name> "old name and options"
		#git config --global alias.show-graph "log --graph --abbrev-commit --pretty=oneline"
		#该命令配置了"log --graph --abbrev-commit --pretty=oneline"的别名为"show-graph"
		#当执行"git show-graph"时,即执行"git log --graph --abbrev-commit --pretty=oneline"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值