git命令整理

来源:互联网 发布:python chain list 编辑:程序博客网 时间:2024/05/22 06:30

git svn区别

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

主要命令:


1,cd  路径   //进入路径进行操作

2,git status //查看哪些文件变动

3,git diff 文件名  //查看文件具体修改信息

4,git add . //将变动文件添加到暂存区

5,git commit -m "修改日志" //改动文件提交到仓库

6,git push origin master  //上传到分支

7,git rm  //删除文件

版本回退

1,git log -pretty=oneline  //查看日志

2,git reset --hard HEAD^ //回退一个版本;git reset -hard HEAD^^ 回退两个版本;git reset -hard HEAD~100回退100个版本

远程创建一个主分支master,每人创建一个功能分支,工作流程(本地分支work):

1,git checkout work 本地工作

2,git add . ---> git commit -m 改动文件提交git仓库

3,git checkout master 切换到主分支master

4,git pull 主分支获取到远程最新数据

5,git checkout work 回到本地分支

6,git rebase master 合并主干修改 可能需要修改冲突 修改完之后git rebase --continue继续后续步骤

7,git checkout master 回到主分支

8,git merge work 合并功能分支修改

9,git push 提交修改到远程


merge跟rebase的区别:

  1.    D---E test  
  2.      /  
  3. A---B---C---F master  


使用merge合并:

  1.       D--------E  
  2.      /          \  
  3. A---B---C---F----G   test, master  

使用rebase合并:

  1. A---B---D---E---C'---F'   test, master  

merge会生成新节点,分支提交分开显示。rebase则是复位基底,分支融合成线性提交。在主分支master上使用merge,在分支上使用rebase合并。




0 0
原创粉丝点击