Git基础
git init
把目录变成Git可以管理的
git add file1,file2
把文件添加到暂存区,工作区就是我们在电脑里面看到的目录
git commit -m "说明信息"
把文件提交到仓库
git diff
看具体修改了啥
git status
查看仓库当前状态
git log
显示最近到最远的提交记录
git HEAD^
,git HEAD~100
回退版本,HEAD代表当前版本
git reset --hard 1094a
(commit id不用打全)
git reset HEAD<file>
可以吧暂存区的修改撤销掉,重新放回工作区
git reset
既可以回退版本,又可以吧暂存区的修改撤销掉
删除文件
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交
rm test.txt
git rm test.txt
git commit
要关联一个远程库,使用命令
git remote add origin git@github.com:path/repo-name.git
关联后,使用命令
git push -u origin master
第一次推送master分支的所有内容
git push origin master
推送最新修改,第一次推送加上-u参数,Git不但会吧本地的master分支推送到远程新的master分支,还会把本地的master分支和远程的关联起来。
命令大全
分支类
git branch 创建分支
git branch -b创建并切换到新建的分支上
git checkout / git switch切换分支
git branch 查看分支列表
git branch -v 查看所有分支的最后一次操作
git branch -vv 查看当前分支
git brabch -b 分支名 origin/分支名 创建远程分支到本地
git branch --merged 查看别的分支和当前分支合并过的分支
git branch --no-merged 查看未与当前分支合并的分支
git branch -d 分支名 删除本地分支
git branch -D 分支名 强行删除分支
git branch origin :分支名 删除远处仓库分支
git merge 分支名 合并分支到当前分支上,一般一两天合并一次,
这个是程序员最不想干的,如果长时间不合并,冲突会很多
暂存操作:
git stash 暂存当前修改,也就是把工作现场储藏起来
git stash apply 恢复最近的一次暂存
git stash pop 恢复暂存并删除暂存记录
git stash list 查看暂存列表
git stash drop 暂存名(例:stash@{0}) 移除某次暂存
git stash clear 清除暂存
回退操作:
git reset --hard HEAD^ 回退到上一个版本
git reset --hard ahdhs1(commit_id) 回退到某个版本
git checkout -- file撤销修改的文件(如果文件加入到了暂存区,则回退到暂存区的,如果文件加入到了版本库,则还原至加入版本库之后的状态)
git reset HEAD file 撤回暂存区的文件修改到工作区
标签操作:
git tag 标签名 添加标签(默认对当前版本)
git tag 标签名 commit_id 对某一提交记录打标签
git tag -a 标签名 -m '描述' 创建新标签并增加备注
git tag 列出所有标签列表
git show 标签名 查看标签信息
git tag -d 标签名 删除本地标签
git push origin 标签名 推送标签到远程仓库
git push origin --tags 推送所有标签到远程仓库
git push origin :refs/tags/标签名 从远程仓库中删除标签
常规操作:
git push origin test 推送本地分支到远程仓库
git rm -r --cached 文件/文件夹名字 取消文件被版本控制
git reflog 获取执行过的命令
git log --graph 查看分支合并图
git merge --no-ff -m '合并描述' 分支名 不使用Fast forward方式合并,采用这种方式合并可以看到合并记录
git check-ignore -v 文件名 查看忽略规则
git add -f 文件名 强制将文件提交
git创建项目仓库:
git init 初始化
git remote add origin url 关联远程仓库
git pull
git fetch 获取远程仓库中所有的分支到本地
忽略已加入到版本库中的文件:
git update-index --assume-unchanged file 忽略单个文件
git rm -r --cached 文件/文件夹名字 (. 忽略全部文件)
取消忽略文件:
git update-index --no-assume-unchanged file
拉取、上传免密码:
git config --global credential.helper store
GitHub的一些笔记
点击GitHub的项目后
- Issue相当于是交流区,可以提问题,比如我们想反映一下别人这个项目有的bug,那么可以写进去,
- Pull request(pr)是指,比如我们想向别人的项目做一些贡献,那么就是在这里提交,然后项目的主人会审核我们的代码,他可以同意或者拒绝我们的项目修改请求
- Project:项目管理,我们可以吧项目的需求表,把待完成的和已完成的任务写进去,它的任务点是可以从待完成拖动到已完成的,非常方便
- Wiki:维基百科的意思
- Insights是一些统计信息