[可写可不写] (必须写){提示}
第一天
清空小黑窗:clear
在版本库文件中新建一个文件touch readme.txt
git add .是将当前项目的所有文件全部添加进去(add后面有一个空格)
如果在文档中修改过内容,那么文档会回到工作区
文档在工作区的时候才可以利用git diff readme.txt查看修改内容
一旦进入暂缓区就不可以查看修改内容
查看修改的状态:git status
循环三部曲
{
1、touch filename.filetype或者对文档内容进行修改 工作区
2、git add filename.filetype 工作区到暂缓区
3、确认内容无误后git commit -m"注释" 暂缓区到本地仓库
}
查看提交日志及提交版本号:git log [option](在存入本地仓库时记得写注释)
补充:将提交信息显示为一行git log --pretty=oneline
版本回退操作:
git reset --hard HEAD^或者git reset --hard HEAD~1(回退几次就写数字几)
显示文档当前内容:cat readme.txt
查看历史提交版本号:git reflog
恢复曾经的内容:git reset --hard (需要恢复的版本号)
第二天
Git撤销修改操作:
撤销在工作区中的修改同时显示文档内容:git checkout -- readme.txt
1.readme.txt自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。
2.另外一种是readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。
Git删除文件操作:
直接在文件目录中把文件删除或者rm filename.filetype
创建gitee账号-->创建仓库-->在gitBash输入ssn-keygen -t rsa-->三下回车-->查看公匙:cat ~/.ssh/id_rsa.pub
-->设置-SSH公匙-粘贴公匙-->测试链接:ssh -T git@gitee.com-->?后输入yes{出现绿色的successfully连接成功}
添加远程仓库:
git remote add origin{默认远端名称origin} (SSH地址){SSH地址在仓库里}
查看远程仓库:git remote
推送到远程仓库:git push origin{远程仓库} master{本地仓库}
分支的操作:
创建分支:git branch dev{分支名称}
切换分支:git checkout dev
创建并切换:git checkout -b dev
查看分支:git branch{当前分支的前面会有一个*号}
将指定分支内容合并到当前分支:git merge dev{dev为修改后的分支}
删除分支:git branch -d dev{合并完后就可以把用完的分支删除了}
解决冲突:
比如:在主分支master的readme.txt修改内容,然后切换另一个分支fenzhi1的readme.txt中修改不同的内容,然后换回主分支,再将fenzhi1与master合并,git不知道如何合并,则会产生冲突。
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,>>>>>fenzhi1 是指fenzhi1上修改的内容
解决方案:1、处理文件中冲突的地方{将文档的内容修改成和主分支上代码一样的} 2、将解决完冲突的文件加入暂存区 3、提交到仓库
分支管理策略:
一般合并分支时,采用的时“Fast forword”模式,在此模式下,删除分支后,会丢掉分支信息
合并是禁止使用“Fast forward”模式:git merge --no-ff -m"注释" dev
首先master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。
bug分支:
修改完文件没有commit时就checkout到其他分支,可能会因为冲突而失败。因为所做的未commit的修改可能会被checkout出来的版本所覆盖而丢失掉,所以会中断checkout并提示你先commit或者stash。commit可以将改动保存起来,stash可以将现场隐藏起来。
将当前工作现场隐藏起来:git stash
隐藏后才可以创建bug分支进行修复bug
Git基本常用命令如下:
mkdir: XX (创建一个空目录 XX指目录名)
pwd: 显示当前目录的路径。
git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
git add XX 把xx文件添加到暂存区去。
git commit –m “XX” 提交文件 –m 后面的是注释。
git status 查看仓库状态
git diff XX 查看XX文件修改了那些内容
git log 查看历史记录
git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一个版本
(如果想回退到100个版本,使用git reset –hard HEAD~100 )
cat XX 查看XX文件内容
git reflog 查看历史记录的版本号id
git checkout -- XX 把XX文件在工作区的修改全部撤销。
git rm XX 删除XX文件
git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
git clone https://github.com/tugenhua0707/testgit 从远程库中克隆
git checkout –b dev 创建dev分支 并切换到dev分支上
git branch 查看当前所有的分支
git checkout master 切换回master分支
git merge dev 在当前的分支上合并dev分支
git branch –d dev 删除dev分支
git branch name 创建分支
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件
git remote 查看远程库的信息
git remote –v 查看远程库的详细信息
git push origin master Git会把master分支推送到远程库对应的远程分支上