我是在Windows电脑上安装的Git
下载地址:https://git-scm.com/downloads
按照默认直接安装即可,安装完成打开开始,有一个Git GUI 这是一个可视化操作
新建文件夹作为你要使用的存储代码的文件夹 长心的人是不会起中文名字的
进入文件夹 右键 点击Git bash here 弹出一个类似cmd的东西
1.命令git init 将该目录建成Git可管理的仓库
然后可以建立一个文件放进去
2.git add text.txt 加入文件 text.txt是我的文件名 每次改动都要add加入
3.git commit -m 加入了文件 提交文件到仓库 '加入了文件' 是我的备注 默认必填 commit提交会把所有已经改动并且add的文件提交上去
首先我们改动文件的地方叫工作区 add后 文件进入暂存区 commit后才进入仓库
备注的内容不用加引号
4.git status 查看目前仓库状态
文件修改 还未add时
已经add 还未commit时
工作区和仓库版本一致时 既没有任何修改
当暂存区有文件 工作区文件又修改时 git status 结果会叠加出现
5.git diff 显示修改的具体内容
显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到
git diff 只显示工作区的改变 如果该改变已经add 则此时diff没有结果
6.git log 查看提交记录
类似于日志 还可以查看简洁版 git log --pretty=oneline
其中 类似于加密过的那一串字符串是版本号
7.git reset 回退版本
回退上一版本 git reset --hard HEAD^
上两个版本就是git reset -hard HEAD^^ 类推
回退之后 git log中的最新版本也会消失
其实就是回到了上一版本当时的状态 所有信息都是和上一版本相同的
回到最新的那个版本: 如果你知道版本号 git reset --hard 版本号 版本号写前几位即可
如果不知道版本号 git reflog 这是你所有的操作 可查看版本号 这几位版本号已经够用了
8.git diff HEAD -- text.txt 查看工作区和版本库的差异 注意--后面有一个空格
9.git checkout -- text.txt 撤销改动 此撤销仅限工作区
当暂存区没有内容时 工作区改动 撤销后工作区和版本库一致
当暂存区有内容是 工作区改动 撤销后即恢复到暂存区有内容 工作区无改动状态
当暂存区内容要撤销时
git reset HEAD text.txt 此时暂存区内容被退回工作区 全部撤销还要在工作区撤销
如果已经提交到版本库 但没有推送到远程版本库 可以回退一个版本
10.git rm text.txt 删除版本库文件
执行此删除后 记得要commit提交
11. git checkout -- text.txt
版本库文件未删 工作区误删 此操作相当于一键还原 由版本库代替工作区
12.关联GitHub远程库
GitHub注册个账号 新建ssh key 这里需要配置ssh 暂时不说
13.新建远程库之后会有提示 一个链接 还有提示你上传的命令
14.git push origin master 连接之后本地版本库内容推送至远程版本库
15.原有远程库 克隆
git clone git库地址
16.分支
git checkout -b fenzhi 创建并切换分支
git branch 查看当前分支
git checkout master 切换回master分支
git merge fenzhi 合并分支到当前分支
git branch -d fenzhi 删除分支
17.合并分支冲突
冲突解决后提交
查看分支合并情况 git log --graph --pretty=oneline 或者 git log --graph --pretty=oneline --abbrev-commit(注意空格)
只是版本号显示有一些差别
18.普通方式合并 非fast forWord方式
git merge --no-ff -m '备注' fenzhiming 本次合并会创建一个commit 所以加上-m 此次备注要加上引号 否则无法识别分支名
fast forword方式合并 合并后没有变化
普通方式合并 可以看到多了一个commit 更明了
19.当分支1文件有改动 未add时 其他分支都可以看到该改变
当分支1文件add后未commit时 其他分支都可以看到该改变
当分支1文件已经commit后 其他分支看不到
20.bug修复 新建分支修复后合并
git stash 隐藏工作现场 改动未add 或已经add都可以使用
git stash list 查看被隐藏的工作现场
git stash apply stash@{0}恢复某个工作现场 不删除隐藏 可全部恢复
git stash drop stash@{0}删除隐藏 可全部删除
git stash pop stash@{0}恢复工作现场 并删除隐藏 可单个或全部操作
21.分支强制删除
当分支未合并的时候 删除分支会报错 此时需要使用强制删除
git branch -D fenzhi
22.多人开发
git remote -v 查看远程库
git push origin master 向远程推送 推送到origin的master分支上
git pull 抓取远程仓库内容 即更新
git branch --set-upstream-to=origin/dev dev 本地某分支Dev与远程分支origin/Dev关联