Hg init 初始化代码仓库
hg merge R4525 合并R4525代码到当前分支
hg commit -m “info”合并前的提交
hg pull 拉取分支
hg update 更新至最新代码
hg addremove 追踪所有的更改文件
hg sum 当前分支的概要
hg st 当前分支文件更改状态
hg branch new 创建new分支
hg update new 切换至new分支、
hg clone Url 克隆一个仓库
hg push
hg revert -a 恢复所有代码,未提交到本地仓库前当前的最新代码
hg rollback 回退到上一个版本
hg revert -r 9db672342f7d --all 回退指定版本
hg branches 查看所有分支
hg update - -clean 删除分支
修改用户名 ~/.hgrc进入这个文件夹 然后修改。$hg config 查看内容
hg resolve --mark 解决冲突后使用这个
Hg config - -edit. 编辑用户名
合并代码:
1.切换到default 2. Pull 3. Update 4. hg merge -t "internal:merge" R3098 5. Commit 6.push
Add some new from net->
hg status 查看当前仓库中的文件改动状态:
M:内容已改动;
!(感叹号):版本库还在跟踪该文件,可是本地仓库已经丢失该文件
R:该文件从版本库中删除;
?(问号):本地仓库中新添加的文件,版本库里还没有该文件,需要使用hg add 文件名 添加到版本库中
A:该文件是新添加的
hg remove 文件名 版本系统不再跟踪该文件
hg revert文件名恢复该文件
状态是!(感叹号)的,需要进行二选一了,是该文件真需要删除了,还是被误删了;若真的需要删除,则使用hg remove 文件名,若被误删了则使用hg revert恢复该文件
hg add . 将所有没有在版本控制系统的文件添加到控制系统中,
hg add 文件名 是将某个文件添加到控制系统中 hg log 查看提交的历史信息
hg commit 将本地的改动进行提交
hg push 将改动推到远程的分支上
hg merge 分支名 将其他分支的代码合并过来
hg diff 查看改动,hg diff 文件名 查看该文件的改动
当前分支拉取当前分支不用merge,直接hg pull -u
取消当前分支的修改回到最初状态时,hg update -C
切换到其他分支且不保留当前分支的修改时,hg update default -C
切换到其他分支且保留当前分支的修改时,hg update default
创建分支时要在default分支上进行创建,这样保证所有的分支没有瓜葛;若在其他的分支上直接创建分支时,则把上一个分支的修改保留了下来,不容易进行拆分;视情况而定
若第一次提交分支时,则使用hg push -b 当前分支名 –new-branch,若已经是第二次以上的提交了则使用hg push -b 当前分支名即可,当然,每次提交时都带着—new-branch也没错
多人合作时需要拉取别人的分支的代码,不要担心,别人的分支和default分支没有任何区别
7.1在default分支上拉取远程的代码并更新本地代码:
hg pull -u(hg pull, hg update)
7.2在default分支上新建自己的分支:
hg branch自己的分支名
7.3合并他人的分支:
hg merge他人的分支名
7.4将合并的先提交一下,不然一会儿自己的改动和刚拉取的他人的代码混到一起了:
hg commit -m ‘merge from xiaoming’
7.5进行自己的改动,该修改的修改,该添加的添加,该删除的删除
7.6提交自己的修改:
hg commit -m ‘改动原因或目的’
7.7再拉取下远程的代码,在改动的过程中说不定已经有人更新default分支了,不合并的话,会把别人的提交弄丢:
hg pull -u
hg merge default
hg commit -m ‘merge from default’(若merge default时需要提交)
7.8将自己的代码推送到远程代码库:
hg push -b自己的分支名–new-branch
***********************************************************************
git版本控制命令行
Git init
Git clone url
Git remote add origin Url 添加一个远程仓库
Git add . 追踪所有的文件修改
Git commit -m “info”
Git push -u origin master 如果仓库单一以后就可以push或者pull
Git log 显示最近提交的commit
git reset —hard HEAD^ 回退到上次提交的,HEAD^^上上次HEAD~100
Git reset —hard fbc614 回退到指定的commit
Git reflog 查看所有的commit
Git checkout — file 撤销操作还没有add .的时候
Git reset HEAD file 从暂存区退回到工作区针对add .后的操作
Git pull 拉取更新到最新代码
Git branch -a 查看所有的分支
git branch 查看本地分支
Git branch new 创建分支new
Git checkout new 切换分支到new
Git status 当前状态
git remote rm origin 删除远程仓库
新建一个本地分支 和远程分支
git checkout -b dbg_lichen_star 新建本地并且换
git push origin dbg_lichen_star:dbg_lichen_star推送到远程分支
git push origin --delete dbg_lichen_star删除远程分支
git branch -D dbg_lichen_star 删除本地分支
//d第一次pull的时候
1.git fetch —all
2.git branch -new
3.git branch --set-upstream-to=company/sharingflow
4.建立追踪关系
添加远程仓库有两种方式 一种是ssh(git)一种是http(这个没次要输入密码不方便,在github上面有对应的两种格式的我们公司给的http://[email protected]:/guji_m.git属于两种都行,直接把前面的去掉就是git形似,实验证明如果用git的话必须使用相应的格式[email protected]:/guji_m.git),
git remote add origin [email protected]:daixu/WebApp.git
origin 可以自己命名
git remote show查看远程库
git remote -v 查看远程版本库信息
所有的需要git的项目必须放置在版本库的目录中,上面我们说了添加远程服务器,下面我们说怎么推送,首先切换到需要推送的分支中,如果该分支第一次推送采用这种格式:
git push -u CX second :
-u 为第一次推送需要的参数 CX为远程服务器的别名 second为本地分支名,这样后在远程服务器中会建立一个CX分支,我验证了 采用当前本地分支second 后面推送的分支名 另外取名字,结果显示错误;
查看本地和远程服务器的所有分支名:
git branch -a
获取本地的所有分支
git branch -v
删除本地分支:
git branch -d分支名
删除远地分支:
git push CX :second
查看所有远程仓库的别名和url
git remote -v
将远程仓库与本地仓库同步更新
Git中从远程的分支获取最新的版本到本地有这样2个命令:
1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git fetch origin master
git log -p master..origin/master
git merge origin/master
以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并
上述过程其实可以用以下更清晰的方式来进行:
git fetch origin master:tmp
git diff tmp
git merge tmp
从远程获取最新的版本到本地的test分支上
之后再进行比较合并
2. git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
git pull CX mytestbranch
必须当前的分支一致;
上述命令其实相当于git fetch和git merge
在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并
"初始化git仓库,记得在项目目录下运行" git init
"添加文件到暂存区" git add
"把暂存区文件提交到本地版本库" git commit -m "提交log"
"查看工作区的状态" git status
"查看修改内容" git diff
"版本回退" git reset
"查看提交历史" git log
"查看命令历史" git reflog
"版本库文件覆盖工作区" git checkout
"删除文件" git rm
下面是对的,
"关联远程库" git remote add origin "你的远程库地址"
"第一次推送" git push -u origin master
"推送分支到远程库" git push -u origin master
"克隆远程库" git clone "远程库地址"
"查看分支" git branch
"创建分支" git branch分支名
"切换分支" git checkout分支名
"创建+切换分支" git checkout -b分支名
"合并指定分支到当前分支" git merge 分支名
"删除分支" git branch -d分支名
"查看分支合并图" git log --graph
"查看远程库信息" git remote -v
"获取远程库代码" git pull
"新建标签,标签默认打到最新一次的commit,也可以指定" git tag 标签名
"查看标签信息" git show标签名
"查看所有标签" git tag
"推送一个本地标签" git push origin标签名
"推送全部未推送过的本地标签" git push origin --tags
"删除一个本地标签" git tag -d标签名
"删除一个远程标签" git push origin :refs/tags/标签名
删除远程分支git push --delete company home_sharingflow
*************************************************************************
Mac中常见命令操作符
1.cd:切换目录;change directory
2.cd..:后退
3.pwd:显示当前路径print work directory
4.mkdir文件夹:创建文件夹make directory
5.vi文件:创立文件 vi编辑器
6.ls:罗列所有可见文件list
7.ls -a:罗列所有的文件包括隐藏list all
8.cat文件:查看文件concatenate
Cat >fileName创建fileName类似vi fileName
Cat file1 file2 >file合并
9.rm文件:删除文件remove