越来越多的同学加入自动化测试的行列,因为之前很多项目的测试脚本也是用git管理的,所以来找我问GIT相关问题的人突然变多了,大部分是checkin代码的时候遇到了各种各样的情况,干脆总结起来。 顺便提一下一些GIT插件用起来虽然非常方便,但是很容易误点,搞不好就-f了,如果实在受不了命令行的,可以考虑用下类似的插件,比如小乌龟。我还是以git bash命令为例,给大家分享一下我之前使用的感受和遇到比较多的问题的解决方案。 GIT: 开源的分布式版本控制系统,通俗来讲就是能看到之前代码、文档等等信息的改动历史,以便查看。
GitHub:世界上最大的代码托管平台,https://github.com/。
Repository: 仓库,就是保存代码的地方。一般repository是指远程仓库。
PR: Pull Request,提交代码的请求。
.ignore: 每个git项目都需要一个ignore文件,里面是不需要checkin的文件。如果没有添加到.ignore里面,每次checkin的时候都需要手动把有修改但是不想checkin的内容剔除出去。
fork: 在github上比如你发现了nasa有一个项目叫fprime,你想把它加到自己的repository里面,只要轻点fork,就可以看到出现了<自己名字的repository>/fprime。
当然参数不同会有很多种用法,我这边只列举了测试日常项目中提交测试代码用的比较多的一部分:
1.git config: 设置每次提交commit的默认配置,例如用户名、邮箱等。
git config --global user.name <用户名> #设置用户名
git config --globle user.email <邮箱> #设置邮箱
2.git clone: 把github上自己reporsitory克隆到本地。
git clone <git url> #clone 项目
3.git branch: 对 branch 的操作
1) git branch #查看所有本地的 branch
2) git branch -r #查看远程的 branch
3) git branch -a #查看所有的 branch
4) git branch <branch name> #创建分支
5) git branch -d <branch name> #删除分支
4.git checkout: 切换 branch
git checkout <branch name> #切换到某 branch
1)git add . #暂存所有变化,包括新增和修改
2)git add -A #暂存所有文件,包括新增、修改、替换、删除
1)git commit -m “<message>” #提交到本地仓库并添加备注
2)git commit <file> #提交一个文件
8.git reset: 后悔良药,通过修改 HEAD 的位置撤销 commit
git reset --hard <SHA-1 的前 6 位> #将 HEAD 指向到 SHA 值对应 commit 前
9.git revert: 撤销某一个 commit,不一定是最后一个
1) git revert HEAD^ #撤销上上个 commit
2) git revert <commit> #撤销指定的 commit
10.git cherry-pick: 从一个 branch 把其中的指定 commit 放到另一个 branch
git cherry-pick <commit> #将 commit 拉到当前分支
11.git fetch: 将远程仓库的内容拉到本地
git fetch <alias>/<branch> #比如将 origin/branch 拉下来
git merge <branch> #将 branch 上的代码与当前分支代码合并
1) git rebase <branch> #合并 branch 到当前分支并保留原始分支的 commit
2) git rebase --continue #解决冲突后,继续合并
14.git pull: 拉代码,是 git fetch + git merge,相当于将远程仓库的内容拉到本地之后,和本地代码合并
git pull <alias>/<branch> #将 origin/branch 拉下来并和本地代码合并
1)git push <alias> <local branch>:<remote branch> #将本地branch推到远程alias/branch
2)git push -f <alias> <branch> #强制执行
git log -<n> #查看最后 n 个 commit
【坑一:忘记密码】登录到 Github,哎呀,密码忘了,先做 10 道加法题:
算了,放弃了,多试几次可能的密码吧……20 分钟后,终于登进去了。
方法一,点击 Code -> Download ZIP