git笔记

git基本操作
1.git init命令:初始化一个Git仓库 (类似于创建一个快照)在本地执行,创建一个本地Git 仓库
	执行完git init命令后,Git仓库会在项目目录中生成一个.git目录,该目录包含Git需要的的所有资源和数据,其他的项目目录保持不变.
	用法:
		1.使用当前目录作为Git仓库,我们直接执行 git init
		2.使用指定目录作为Git仓库,git init 目录名
2.git add命令:(在本地Git仓库中使用 将快照的内容写入缓存区(只要使用过git add的文件之后,这个文件之后修改就默认直接写入缓存区了))将文件纳入git的版本控制,告诉Git开始对这些文件进行跟踪,
	用法: 支持正则表达式
		1.将所有文件纳入Git的版本控制, git add .
		2.将特定文件纳入Git的版本控制, git add 文件名
3.git commit -m "注释"命令:(在本地Git仓库中使用 将缓存区内容添加到仓库中,未用git add追踪过的文件不能添加到github仓库上)将git add追踪的文件提交到github的Git仓库中
	Git为你的每一个提交都记录你的名字和邮箱地址,所以第一步需要配置用户名和邮箱地址
	git config --global user.name "用户名"
	git config --global user.email "邮箱"
4.git clone命令:从现有的github上的Git仓库中拷贝项目到本地目录的git仓库(类似于svn checkout)
	用法:git clone <repo> <directory>
		必须参数:repo Git代码仓库的url
		可选参数:directory 拷贝到哪个目录中去
	eg:git clone git://github.com/shcacon/grit.git  在当前目录下自动创建一个grit(Git仓库名字)的目录,保存项目
	eg:git clone git://github.com/shcacon/grit.git mygrit
	把项目拷贝到mygrit目录中去
5.git 基本操作:
git add aaa  #让本地git仓库追踪管理aaa文件
git status (-s)  #git status命令: (-s 参数显示简略信息,否则显示完整信息)查询项目在上次提交后是否有修改,没有的话没有提示
6.git reset HEAD -- 文件名:取消之前的git add命令(将文件写入缓存区),让文件不能加入缓存区,未加入缓存区,当使用git commit时,也不能提交到github上  所以本命令的作用是:取消已缓存的内容,将缓存区恢复到之前的样子
7.git rm 文件名:将文件从缓存区中移除 默认情况下,会将文件从缓存区和工作目录中删除
git rm --cached 文件名 将文件保存在工作目录中,只从缓存区中删除
8.git mv 文件名:重命名(和linux一样)
	eg:git mv re re.md  将re文件重命名为re.md
9.git分支管理   重点  可以在不同分支做不同的事情,互不影响,类似于快照  同理git init 创建的默认是主分支master
	1.git branch 分支名   #创建(本地)分支命令
	2.git checkout 分支名 #切换分支命令 Git用该分支的最后提交的快照替换工作目录中的内容  所以多个分支不需要多个目录
	3.git checkout master #切换到主分支
	4.git merge 分支名:合并分支到主分支的命令
	5.git branch   #列出在本地Git仓库的分支
一种重要用法:再修改前创建一个分支,这样就相当于保存了之前的一个快照状态
10.git branch -d 分支名:删除分支
11.git log #查看历史提交记录
   git log --author=Linus --online -5
12.git remote add origin url    #添加远程仓库(eg:github)
由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以我们需要配置验证信息:使用以下命令生成SSH Key:
	
			本地			本地           	本地       			远程
git的组成:  本地目录     索引(缓冲区)   	HEAD     		远程git仓库
			git init   git add        git commit        git remote add origin url  #添加远程GitHub仓库                          git push origin 分支 #将HEAD中的修改提交到GitHub上去

gitk:内建化的图形git

  

原文地址:https://www.cnblogs.com/nanfengnan/p/14408746.html