git && svn

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/level__1/article/details/79104161

svn集中式版本控制系统,git分部式版本控制系统。

svn所有代码集中放在服务器上,工作的时候,从服务器下拉最新代码,完成代码编辑,然后提交到服务器.

git每个PC都有一个clone的版本库,我们在这个版本库打一个分支,完成自己的工作,然后合并到主分支。自己的版本库与他人的版本库怎么协作呢,通过推送。这时候有时会产生冲突,就需要主开发者解决,或者两名普通开发者协作解决,再由一人提交。冲突解决之后由主开发者推送到主服务器。


rm -rf <file>删除当前目录及其子目录

nano/vim <file> 编辑一个文本,当目标文件不存在时会自动创建


1、配置git使用者信息
git config --list              //查看所有配置
git config --global user.name "yong.ye"
git config --global user.email "[email protected]"


2、创建本地仓库
git init [仓库名]              //带工作区
git init --bare [仓库名]       //纯仓库


3、查看工作区状态
git status


4、工作区内容添加缓存区
git add <file>        // 指定的文件
git add [--all | -A]  // 所有要跟踪的文件

5、缓存区内容提交到版本库
git commit -m "提交说明" 

6、查看commit日志
   (1)git log
当前分支的commit历史

   (2)git reflog
查看整个本地仓储的提交历史, 包括所有branch的提交, 甚至包括已经撤销的commit, 只要HEAD发生了变化, 就会在reflog中记录


7、比较
git diff //工作区和暂存区之间的比较
git diff HEAD //工作区和版本库中最近的commit比较
git diff HEAD^ //工作区和版本库中的上一个commit比较
git diff <commitId> //工作区和指定的commit比较
git diff --cached //暂存区和仓库的比较

8、撤回
   (1)git checkout -- <file>... //丢弃工作区的修改(即对工作区进行了修改,尚未add)
   
   (2)git reset HEAD <file>... //撤出暂存区(即将暂存区的内容撤回到工作区修改时的状态)
   
   (3)git reset <mode> <commit> 
    mode:
      --mixed,默认,从版本库直接撤回到工作区
  --soft,从版本库撤回到暂存区,即撤回提交
  --hard,彻底撤回到指定的commit上 ,仓库、暂存区、工作区均受影响 
  
9、删除(可以通过撤回找回)
git rm --cached <file> //只从暂存区或仓库中删除,但工作区(本地)中的文件保留
git rm <file> //连本地文件一起,从暂存区或仓库中删除

10、分支
(1)查看所有分支
  git branch [-v] [-r]
 
(2)创建分支
  git branch <branch-name>
  
(3)切换分支
  git checkout <branch-name>
  
(4)合并分支
  git merge [--no-ff] <branch-name> -m <memo>
   
  要合并到哪个分支,就先切到哪个分支进行合并
    
(5)删除分支
  删除本地分支
  git branch -d <branch-name>
  例:git branch -d dev


10、标签
(1)查看所有标签
  git tag 
  
(2)查看具体标签
  git show <tag>
  
(3)创建标签
  标签打在最新的commit上,<tag>指定标签名称:
      git tag <tag>
  
  标签打在指定的commit上,<commit>指定commit ID:
  git tag <tag> <commit>
  
  打标签时可以指定备注,-a指定标签名称,-m指定备注内容:
  git tag -a <tag> -m <memo> [commit] 
  
(4)删除标签
  删除本地仓库标签
      git tag -d <tag>
  
10、远程协作
   (1)克隆远程仓库(clone)
例:git clone https://github.com/gdyycn/MyTestPro.git

   (2)查看远程仓库信息
    git remote -v

   (3)推送(push)
例:git push origin master

   (4)拉取(pull)
例:git pull origin master

   (5)删除远程分支
例:git push origin :dev

   (6)将标签推送到远程仓库
git push <repository> --tags

   (7)删除远程仓库标签
  git push <repository> :refs/tags/<tag>







扫描二维码关注公众号,回复: 3248314 查看本文章

猜你喜欢

转载自blog.csdn.net/level__1/article/details/79104161