人为维护文档版本的问题
文档数量多且命名不清晰导致文档版本混乱
每次编辑文档需要复制,不方便
多人同时编辑同一个文档,容易产生覆盖
git 是什么----------------
Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,
将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。
git基本工作流程---------------------
有自己想工作目录—》还有暂时存放的区域–》最后存到本地仓库里面
git 使用配置---------------
提交人名字:git config --global user.name 提交人姓名
提交人邮箱:git config --global user.email 提交人的邮箱
查看git配置信息 :git config --list
注意:
如果要对配置信息进行修改,重复上述命令即可。
配置只需要执行一次
提交步骤 ----------------------
git 的本地操作
- git init == 初始化git仓库
- git status ==查看文件状态
- git add 文件列表 ==追踪文件
- git commit -m 提交信息== 向仓库中提交代码
- git log == 查看提交信息
撤销------------------------------
- 用暂存区中的文件覆盖工作目录中的文件:git checkout --文件名
- 将文件从暂存区中删除:git rm --cached文件名
- 将git仓库中制定的更新记录恢复出来,并且覆盖暂存区和工作目录:git reset --hard commitID
git进阶 ==分支---------
为了便于理解,大家暂时可以认为分支就是当前工作目录中代码的一份副本。
使用分支,可以让我们从开发主线上分离出来,以免影响开发主线
- 主分支(master):第一次向 git 仓库中提交更新记录时自动产生的一个分支。
- 开发分支(develop):作为开发的分支,基于master 分支创建。
- 功能分支(feature):作为开发具体功能的分支,基于开发分支创建
功能分支==》开发分支==》主分支
分支命令
- git branch ----查看分支
- git branch 分支名称----创建分支
- git checkout 分支名称----切换分支
- git merge 来源分支 ----合并分支
- git branch -d 分支名称----删除分支
暂时保存更改-----------------
- 存储历史改动:git stash
- 恢复改动:git stash pop
Github--------------------------
-
多人协作开发流程
-
A在自己的计算机中创建本地仓库
-
A在github中创建远程仓库
-
A将本地仓库推送到远程仓库
-
B克隆远程仓库到本地进行开发
-
B将本地仓库中开发的内容推送到远程仓库
A将远程仓库中的最新内容拉去到本地------
创建仓库------------------------
- List item
- 填写仓库基本信息
- 讲本地仓库推送到远程仓库
-----git push https://github.com/teach-tian/ccc.git master远程仓库的地址
-----git remote add origin https://github.com/teach-tian/ccc.git --git 添加远程仓库origin (origin是仓库别名)
-----git push origin master
----- git push -u origin master ---- -u记住推送四肢及分支,下次推送只需要输入git push 即可
- git add 项目名 添加到暂存区里面
- git commit -m 提交 添加到本地仓库当中
- git push -u 分支名 添加到远程仓库当中
- -u 加上 的话 下次直接git push就直接可以添加到原厂仓库里面了 - git push 远程仓库地址 分支名称
- git push 远程仓库地址别名 分支名
- git push -u 远程仓库地址别名 分支名
-u 记住推送地址及分支,下次推送只需要输入gir push 就可以了- git remote add 远程仓库地址别名 远程仓库地址
拉取操作-----------
克隆仓库--------------
- 克隆远端数据仓库到本地:git clone 仓库地址
- 拉取远程仓库中最新的版本:git pull 远程仓库地址 分支名称
git 的日志和版本控制
- git log (查看日志)
- git log --pretty=oneline (一行日志)
- git reflog (查看所有操作过的日志 即使版本回退了还是可以看)
- git reset --hard HEAD^^ (回退版本: 一个 ^ 表示回退一个版本,HEAD 指向当前版本)
- git reset --hard <版本号(不用写全)> (通过版本号切换版本)
git 去除已经被跟踪的目录和文件 - git rm -r --cache .
- git add .
- git commit -m “update .gitignore”
git 工作流 - 集中式工作流
- 功能分支工作流
- git_flow工作流
- forKing 工作流
- pull request
git 推送分支到远程仓库
git push origin <本地分支名>:<远程分支名>
git 更新分支内容到本地
git pull origin <分支名>
git 打标签 - git tag (查看标签有几个)
- git tag <标签名>
- git push origin --tags (推送标签到远程仓库)
以上就是一些常用的命令集合,熟练掌握后,一般的工作你都能胜任了,下面是一些项目里需要忽略提交一些文件或者目录到版本控制里的写法,也总结了一下。
.gitignore 文件的写法 【例子】
忽略*.o和*.a文件
.[oa]
18. 忽略.b和*.B文件,my.b除外
*.[bB]
!my.b
19. 忽略dbg文件和dbg目录
dbg
20. 只忽略dbg目录,不忽略dbg文件
dbg/
21. 只忽略dbg文件,不忽略dbg目录
dbg
!dbg/
22. 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内
/dbg
23. 以’#'开始的行,被视为注释.
24. ?:代表任意的一个字符
25. *:代表任意数目的字符
26. {!ab} :必须不是此类型
27. {ab,bb,cx} :代表ab,bb,cx中任一类型即可
28. [abc] :代表a,b,c中任一字符即可
- [ ^abc] :代表必须不是a,b,c中任一字符
邀请别人成为当前项目的开发者
进入github仓库–>settings—>menage access ---->
第一次添加会弹出输入密码输入框---->invite aclooaborator(输入b程序员的github账号)
---->赋值邀请链接发送给程序员b------->b程序员 登录github账号,
黏贴a程序员的邀请链接,回车,点击接受邀请----->b程序员可以向仓库推送代码-