对比svn优势:①分布式管理,无网络也可以继续使用
②强大的分支管理,对比svn的分支,速度性能易用上都显而易见
1.git 安装 自己去搜索吧
2.git init 初始化,会在目录下新创建一个 .git目录,mac下查看隐藏文件可以用 ls -ah
3.git add ‘文件’ 或者 git add . 将文件存入暂存区
4.git commit -m ‘message’ 将文件存入head 等于本地已经全部提交完成,剩下可以提交到服务器
5.git status 查看文件状态 git diff 文件名 查看文件对比差异修改了什么地方 git checkout —文件名 回退文件
6.git log 查看日志 git log —pertty=online
7.git reset —hard HEAD^ 回退到上一次版本 HEAD一般是指当前版本 HEAD^就是上一次,HEAD^^上两次 HEAD~10 上10次
8.git reflog 可以查看每次变动的记录,即使git reset之后 也可以看到id,在reset误操作之后可以使用他
9.git reset HEAD 文件名 可以将git add 的内容回退,就是从加入暂存区的状态,变成工作区状态
10.如果已经进行了commit操作,回退也可以用get reset committed 即可,默认不带参数其实等于 git reset —mixed 只是回退commit操作本地代码依然保留,其实就等于回到到add操作之前了,—soft是回退到add操作之后 —hard最牛逼,彻底回退了,啥都不剩了
11.创建分支,git checkout -b 分支名,它其实等于 git branch 分支名,git checkout 分支名两条命令
12.查看分支 git branch,显示中带*的代表了当前分支,git branch -a 可以查看远程分支和本地分支
13.从分支merge,比如存在dev分支和master分支,我想将dev代码merge到master,这是我先在master分支上,之后执行git merge dev
14.上传内容到远程分支,git push origin 分支名
15.删除本地分支, git branch -d 分支名
16.删除远程分支 git push origin :分支名 (相当于上传一个空内容到远程分支,也就等于删除了远程分支)
17.隐藏所修改的内容,git stash,该命令可以隐藏当时工作区正在修改的文件内容,之后在使用git stash apply恢复过来即可,所以我们一般拉代码之前先 git stash,隐藏之后git pull,拉下来最新代码,在进行 git stash apply,发现冲突解决即可,目前比较快速的方法
常用的几套组合:
A:提交之前要做的
1: git stash 隐藏自己写的代码
2: git pull origin 分支名
3: git stash apply 放出隐藏内容
4: 如果有冲突 手动修改
5: git add 文件名
6: git commit -m 'message'
7: git push origin HEAD:refs/for/分支名
B:提交之后,如果发现问题
1: 修改有问题的文件
2: git add 文件
3: git commit --amend 将本次提交和上次合并
4: git push origin HEAD:refs/for/分支名