彩运网网址-彩运网网上登录

svn和git简单使用

一 svn简单使用

参考书籍:

svn diff file                 //检查检查file和最新版本的区别,补丁,相当于diff -Nur svn://xxx/file ./file  
svn add file                  //如果你新创建了一个文件或者文件夹,需要执行这条指令将其加入本地代码库  
svn delete file               //这是删除  
svn status                    //看看当前本地代码库的状态  
svn up/update                 //检查最新版本,更新  
svn up/update -r 150          //检查提取指定版本副本文件  
svn info                      //查看当前副本版本信息  
svn ci -m files "message"     //所有的工作做完后,需要执行这条,来提交你的代码到google code代码库  
svn cp ls mv mkdir rename rm等 

    《Pro Git》中文版.pdf

二 git简单使用

 

vi .git/config                  //可以查看当前的remote和已经track了remote分支的本地分支  
vi .git/packed-refs             //可以查看所有分支,及其version  
git clone -b master/branch-name git://xxx.com/xxx.git name     //下载指定branch  
git status                      //看看当前本地代码库的状态  
git branch (-a)                     //显示的是本地分支  
git commit                      //是提交到当前的本地分支  
git pull origin aRemoteBranch 
git push origin aRemoteBranch 
git remote                      //显示远程服务器  
git remote show aRemote         //显示指定的远程服务器(origin)上的远程分支  
git checkout --track -b aLocalBranch aRemote/aRemoteBranch     //创建一个新本地分支追踪远程分支(也可以直接 git checkout aRemoteBranch)  
远程分支不可见,只能通过新建本地分支来追踪远程分支,本地分支和远程分支是两个不同的东西,也可以不同名。 
checkout的时候会先检查本地分支,如果有则checkout到这个本地分支(不论它track哪个远程分支),如果没有则查看远程分支,如果有同名远程分支则新建一个本地同名分支并追踪(track)远程分支 
git branch -d aLocalBranch      //删除本地分支  
git push ARemote :aRemoteBranch //删除远程分支  
-d -> -D                        //强制删除  
 
//可以建多个本地分支track同一个远程分支,删除本地分支对远程分支没有影响。 

git init           // 建立一个git仓库, 本地目录为工作目录, .git目录是中央数据目录

图片 1

git init --bare    // 建立一个git裸库,本地目录为中央数据目录

 

git clone /home/git/test.git    // 同一机器,直接目录clone, 可指定clone后名称

git clone ssh://cxt@192.168.3.254/home/git/test.git  // 远程git目录clone,使用ssh协议,也可以使用http协议,git://协议

 

git config --global user.email xiaotaohuoxiao@163.com   // 设置用户email,强制性的

git config --global user.name  cxt                      // 设置用户名称

git config --list                                       // 查看已有配置信息

 

git status         // 查看git文件状态,未保存本地数据目录

 

git add file       // 保存file文件至本地数据目录 .git 暂存区

git add .          // 保存所有文件(修改,新增,删除等) 到 .git 暂存区

git add -u         // 只保存修改modify文件到 .git 暂存区

 

git rm --cache file  // 删除保存到 本地.git暂存区 的文件

 

git commit            // 项目提交到 .git, 进入交互界面提交编辑log

git commit -m string  // 项目提交到 .git,提交log为 string,提交后出现字符串为SHA-1校验和(20Bytes)

git commit --amend    // 撤销commit,前提是撤销之前未做任何改动

 

git log               // 查看提交历史

git log -p            // 展开显示每次提交的内容差异

git log -2            // 显示最近的两次更新

git log --stat        // 显示行数变化统计,查看做了哪些改动

git log --pretty=xxx  // 显示风格,=oneline,放在一行显示

 

git push origin master  // 推送,将本地 .git信息推送至 远程主机 .git中央数据目录

git pull origin master  // 取回,将远程 .git信息取回至本地主机 .git,同时更改当前工作目录文件

 

 

=========================================================================================

vi .gitignore       // 忽略某些文件,不要忽略 .gitignore,这样其他clone就能生效忽略


*.[oa]              // 忽略所有 .o , .a文件

*~                  // 忽略所有存档文件

doc/                // 忽略doc目录下所有文件

 

 

git diff            // 对比文件,对比还没有 git add缓存文件内容

git diff --cache    // 对比这次修改与上一次commit快照内容

 

git remote          // 查看当前远程仓库, 仓库信息位置在 .git/config

git remote -v       // 显示对应克隆地址

git remote -r       // 显示远程分支

git remote add cxt /home/work/test   // 裸库可用来添加远程仓库目录(远程目录必须有 .git),非裸库也可以指定

                    // cxt是远程仓库的本地分支名字

git remote rename cxt sky  // 将远程仓库本地分支名称改为 sky

 

 

git branch f_cxt       // 创建f_cxt新分支,当前分支保存在 .git/HEAD

git checkout f_cxt     // 切换到f_cxt分支

git checkout -b f_cxt  // 创建f_cxt新分支, 并切换

git branch -d f_cxt    // 删除f_cxt分支

 

 

合并:

====================================

git checkout master

git merge f_cxt        // 将f_cxt更改合并到 master当前分支中,master未修改时,合并成功;master修改后,合并错误,需要解决冲突 conflicts

 

 

解决冲突:

====================================

$ git merge f_cxt

Auto-merging test.c

CONFLICT (add/add): Merge conflict in test.c

Automatic merge failed; fix conflicts and then commit the result.    // 需要解决冲突

 

此时系统处于合并未解决状态:

    图片 2

 

git status        // 查看冲突,列出所有未合并状态文件,并且文件内容有变化

 

$ cat test.c

------------------>

<<<<<<< HEAD

hahaha

=======     // 文件隔开

111

>>>>>>> f_cxt

 

修改冲突:

vi test.c

------------------>

hahaha       // 删除<<<<  >>>>  ===== 行,并且采取最终方案

 

 

git add test.c     // 将test.c标记为 已解决

 

git commit         // 提交merge更新

                   // 做法为删除原有两个test.c,新建修改后的test.c

图片 3

 

 

============================================================

git branch -v           // 查看各个分支最后一次commit信息

 

git fetch origin        // 同步远程服务器尚未拥有的数据,更新origin/master指针

 

git push origin serverfix:aaa    // 将本地仓库serverfix分支推送至远程仓库的远程分支aaa,若没有aaa,则创建

 

git checkout -b serverfix origin/aaa  // 新建serverfix新分支,内容与远程origin/aaa一致,并且进行分支切换

 

git push origin :aaa    // 删除远程aaa分支

 

 

===============================================================

git rebare aaa          // 把aaa分支修改合并到当前分支,会将所有commit节点合并过来

 

出现冲突,解决冲突

本文由彩运网网址发布于网络安全,转载请注明出处:svn和git简单使用

相关阅读