svn 与git区别
svn集成式 ,通过连接中央服务器,进行开发。。
git分布式,每个开发者都可版本控制,不需连接中央服务器。可以多人协作,连接github
提交
git add name /
.
添加文件到暂存区,点表示提交全部
git commit 提交到版本库时 必须加上注释信息
git commit -m " 提交时加的注释 "
提交缓存区与提交版本库简写
git commit -a -m "注释信息" ,通过此简写方法可以直接提交到版本库
diff 对比命令
1,git diff 对比工作区和暂存区的不同
2,git diff --cahed / --staged 对比缓存区和版本库的不同,两种方法。
3,git diff master 对比工作区和版本库的不同
reset 撤销提交命令
1,git reset HEAD " 文件名 "
撤销过程 先从暂存区撤销到工作区,如果暂存区没有这个文件,会再从版本库查找撤回到工作区。
2,git checkout --“文件名” 把工作区的内容撤回到版本库一致的状态。
3,git commit --amend
例如,原本想把A,B两个文件同时传到版本库,但是由于出错只提交了A文件。那么就可以同过此方法,把A文件从版本库撤回到工作区。通过一次提交把两个文件提交到版本库。git commit -m " A and B " --amend (当然在此之前需要把B文件提交到暂存区)
***如果git log 信息太多,没显示全部,可以enter键查看***
rm 删除命令
一般来说在工作区删除一个文件就没有了,但是如果我们在此之前已经将该文件commit到暂存区了,那么暂存区会依然保存着该文件。那么如何也能删除掉在缓存区的文件呢?看下边
1,git rm <file.name> 运用它可以将提交到暂存区的文件删除。注意次前提是你已经在工作区删除了该文件。
2,git rm -f <file.name> 把工作区和暂存区的文件都删除
3,git rm --cached <file.name> 只会把暂存区的文件删除,不会删除工作区文件。
reset 恢复命令
如果我们在工作区误删了某个文件,那么也可以通过一些方法还原文件
1,git checkout commit.id <file.name> //指定文件还原
2,git reset --hard commit.id //对版本的还原
3,git reset --hard HEAD^ //回到上一个版本
4,git reset --haed HEAD~num //回到过去几个版本
5,git reflog 如果回到了过去版本,还想再返回。那么 得到log版本信息,拿到想要恢复某个版本的commit id信息,通过git reset --hard commit.id //对版本的还原
同步到远程仓库
前提:本地已经与远程关联
多人协作与冲突
开发成员每次开发前需要同步更新,输入以下命令
1,git fetch
从远端拉取,不会自动合并(建议此方法,可以先看下哪里起冲突了)
a,查看不同,git diff mater origin/origin
b,手动合并,git merge origin/master
2,git pull
从远端拉取,会自动合并
开源项目协作
fork 相当于在github克隆一个项目,fork之后你就有了这样有一个项目
当修改了这个项目后,修改的只是在你账户里的项目,并没有修改fork源项目。
如果想修改源项目,需要pull request >new pullrequest
git branch分支
创建可以在github创建,也可以在git创建,以下描述为git创建
git branch 查看分支
git branch name 创建一个分支
git checkout name 切换到某个分支
git checkout -b name 快速创建一个分支并切换到新建的这个分支。
合并
首先切换到 master, git merge name 合并分支。
git branch --merged //查看与master合并的分支
git branch --no-merged //查看没有与master合并的分支
git branch -d name //删除已合并master的分支,注意没有合并的分支此方法不能删除
git branch -D name //没有合并的分支通过此方法删除
当分支有冲突时,git status 查看冲突文件
如何把git分支同步到github
创建文件
1,git branch new1 创建new1分支
2, git checkout new1 切换到当前分支
3,git add .
4,git commit -m "fenzhi"
5,git push origin new1 上传到新建的分支。
git tab 打标签
git tab 查看标签
git tab v1.0 加标签
git push origin master