git clone URL 把代码从远程库中克隆到本地
git config --global user.name 查看当前配置的用户名
git config --global user.email 查看当前配置的用户邮箱
git config --global user.name “用户名” 配置用户名
git config --global user.email “邮箱” 配置用户邮箱
一.提交
git status 查看状态
显示当前在master主分支上,工作区没有任何修改,很干净;
显示新增文件,但没有做任何的版本管理,文件还在工作区;
git add 文件名 把指定文件添加到暂存区
git add . 把所有修改过的文件添加到暂存区
git commit –m “提交的说明” 把暂存区的文件提交到版本库中
git commit –a –m “提交的说明” 把工作区的修改的文件先存到暂存区,再提交到版本库,把git add . 合并到了一起
git log 查看提交记录 (黄色区域为Id)
二.对比
git diff 工作区与暂存区的对比(绿色加加部分是指工作区相对于暂存区新增的部分)
git diff --cached/staged 对比暂存区和版本库之间的不同(绿色++部分为暂存区新增部分)
git diff master 工作区与版本库之间的修改对比(绿色++部分为暂存区新增部分)
三.撤销
git reset HEAD 文件名 把该文件从暂存区撤销到工作区
git checkout -- 文件名 把该文件工作区的内容清楚干净,撤销到版本库(若是子文件,则需要添加路径);
git commit –m “注释”—amend 撤销上一次的提交,和后面暂存区修改的内容合并一起提交(例如:当修改了2个文件,一开始只提交了一个文件,但后面又想同时把2个文件都提交,为了避免提交两次,可以先把原来的提交撤回,再和暂存区的另外一个文件合并提交)
四、删除
git rm 文件名 把暂存区的该文件删除
工作区新建一个文件,把该文件添加到暂存区;再把工作区新建的该文件删除;查看状态会发现(工作区已经没有了,而暂存区还有);把暂存区的该文件删除
注意:如果工作区的文件没有删除,直接使用git rm 是没有用的!
git rm –f 文件名 把暂存区和工作区的指定文件都删除
git rm --cached 文件名 把暂存区的指定文件删除,工作区的保留
五、恢复
git checkout id 文件名 把指定文件恢复到提交的指定版本中(例:在工作区删除了某个文件,然后查看提交记录,再把文件恢复到指定的提交版本中)
git reset --hard id 恢复到提交的某个版本
git reset --hard HEAD^ 恢复到当前版本的上一版本
git reset --hard HEAD~2 恢复到当前版本往前第二个版本
git reflog 查看操作记录
六、同步到远程仓库
git remote 查看远程仓库的名字
git remote –v 查看远程仓库对应的地址
git push origin 分支名 推送到远程仓库的某个分支
七、 解决冲突
git pull 获取远程仓库上的内容并合并到本地,以下为有无冲突的区别
git fetch origin master 获取远程origin仓库master分支内容到本地,不会合并
git diff master origin/master 查看本地master分支和远程master分支的区别(红色的为本地修改,绿色为远程仓库内容);
git merge origin/master 把获取的远程master分支合并到本地(工作区会出现远程分支和本地分支上的代码,需要手动修改,然后重新提交到远程分支)
八.Git分支
1.当分支没有冲突的时候
git branch 查看所有分支 *表示当前分支
git branch 分支名 新建分支
git checkout 分支名 切换至某个分支
git checkout -b 分支名 新建某个分支并切换
git merge 分支1 把分支1的内容合并到当前分支(例如把new1分支内容合并到当前的master分支)
git branch --merged 显示与当前分支合并过的分支
git branch --no-merged 显示没有与当前分支合并过的分支
git branch -d 分支名 删除某个分支(只能删除已经合并过的分支)
git branch -D 分支名 强制删除某个分支
2.分支合并出现冲突,
两个分支同时有修改同一个git.html文件
编辑器中会出现两个分支上修改的内容
需要手动修改之后重新提交
九.打标签
git tag 标签名 给当前分支打一个标签
推送该标签到远程仓库
GitHub显示
可以把打的这个包整个下载下来