ZJ文件红色或者绿色表示已经在暂存区

1.
配置全局用户名:git config --global user.name "随便写个名字"
配置EMAIL:git config --global user.email "随便写个邮箱"
设置完成之后,不会提示任何信息的,如果想看:git config -l(小写l是List的意思)
2.创建仓库(版本库),其实就是一个文件夹
使用d:
使用md mypro
使用cd mypro//在D盘创建一个文件夹叫mypro,将这个文件夹作为【工作区】(而工作区下的.git文件夹,是【仓库/版本库】)
使用git init//在mypro文件夹下运行git init初始化仓库(真正成为git仓库),mypro文件夹下会出现一个.git文件(隐藏的),不运行git init,鼠标右键点击git init here
3.创建文件
自己写一个aa.java文件放到mypro文件夹下
使用git status命令查看当前仓库状态
·On branch master表示当前开发在主分支上
·No commits yet但是还没有提交
·Untracked files未标记的文件,后面给出了未标记文件的列表(红色的)
4.提交文件
使用git add aa.java将文件加入到暂存库(必须有这个过程),不会有任何提示
使用git status命令重新查看当前仓库状态
·changes to be commit现在的文件并没有真正的提交到主分支上
使用git commit -m "注释",如果不加注释,那么就不需要-m
使用git status查看仓库状态,提示nothing to commit,工作空间很干净,标识文件真正的提交了,真正
使用git log aa.java查看针对aa.jaa的注释信息,commit后边有一个类似uuid的字符串,版本回滚就是靠他
使用q退出查看日志信息

5.修改文件
手动修改aa.java,随便改点什么
使用git status查看状态
·Changes not staged for commit文件没有暂存
user git add <file>要么使用add提交暂存
user git checkout --<file>要么使用checkout回滚
使用git diff aa.java查看到底改了什么(different),修改的地方会变成绿色
·前面有+表示增加,前面有-标识删减的内容
使用q退出查看
使用git commit -a -m "注释",一步提交
使用git log aa.java会发现有两条日志(因为第一次是有人提交,第二次是有人修改)
6.工作区,版本库(包括stage和master)
工作区→stage暂存库→master主分支
·工作区操作:例如修改aa.java
·执行git add命令,将文件添加到stage
·master操作:执行git commit命令,完了之后暂存区就清空了,不会有任何数据
7.回退(reset从master恢复,checkout从stage中恢复)
使用git log --pretty=oneline命令查看日志(没那么具体但是看着很舒服)
使用git reset --hard HEAD~1回退一步,这时候在去看看aa.java文件
使用git reflog查看log id,根据logid再更新回来(发现回退错了,还想要之前的)
使用git reset --hard logid前几位(类似979b999这样)就可以恢复文件了(从master恢复)
使用git checkout -- aa.java从stage恢复(没有add)
使用git reset HEAD aa.java将stage中上一次内容恢复到还是stage中(已经add,但没有commit,发现add错了)
·使用完reset HEAD通常都会再checkout 一次的需求

=====================================================GIT HUB=============
1.工作空间下右键,左键点击git bash,输入
ssh-keygen -t rsa -C "174967866@qq.com",敲一下回车,会发现生成两个文件以及这俩文件的路径,然后提示让你输入密码,随便什么密码都行
不过反正要记住这个密码(不是github账号密码),以后用
2.再github网站,头像下选择“settings”,再左侧选择SSH AND GPG keys,然后再右侧选择New SSH key,Title随便写,key就选择生成
的名字为id_rsa.pub里的内容,ctrl+a全选,复制,然后粘贴到网页上,然后点击Add SSH key
3.以上表示我们自己的电脑已经和github网站可以建立安全的链接了(虽然可以,但是没建立)
4.添加远程仓库
·在网页右上角,点击头像旁边的加号,会出现一个New repository选项,点击
·随便给仓库起个名字,点击下一步
·选择链接方式,https或者ssh,一般都选择https,牢记https地址
5建立链接
使用git remote add origin 地址(例如https://xxxx,例如sshxxxx)建立链接,回车之后没有任何反应,此时仓库里并没有任何内容
使用git push -u origin master将所有文件推到仓库里,-u参数是关联远程master和本地master,因为是第一次推送,回车之后会让你输入github账号和密码
·成功会提示Branch master set up to track remote branch master from origin.
使用git remote -v查看远程仓库
使用git remote rm 仓库名(例如aaa)删除远程仓库
使用git commit -a -m "注释",将修改的文件提交到本地master分支
使用git push origin 分支名(例如master)将本地master分支推送到远程master分支
=================之前是在本地创建仓库,现在将在github上创建仓库,然后克隆到本地==============
1.创建仓库,记得勾选Initialize this repository with a README
2.
使用git clone 仓库名(例如https://github.com/shiwentianNB/cangku-clone.git),最好新建立文件夹
============================================分支管理=========================================
1.使用git branch 分支名(例如aaa)创建一个新的分支
2.使用git branch -m 原分支名 新分支名 修改分支名字
2.使用git branch查看现在有哪些分支
3.使用git checkout 分支名(例如aaa)切换分支
4.使用git branch查看当前分支是哪个(*星号在谁前边谁就是当前分支)
5.使用git branch -d 分支名(例如aaa)删除分支(这里注意要先切换分支到master,分支在自己上,或者没merge,无法删除的)
5.使用git branch -D 分支名 强制删除
6.使用git checkout -b 分支名(例如aaa)创建并直接切换到新分支(相当于123三个步骤)
7.使用git merge 分支名(例如aaa) (在主分支上操作)将分支aaa合并到master分支上
8.使用git push origin 分支名(例如aaa)推送到远程仓库
9.使用git push origin --delete 分支名(例如aaa)删除分支(远程仓库的分支)
10.使用git branch -a查看分支
11.使用git branch -r查看远程分支
12.使用git branch -l查看本地分支