下载代码
git clone http://admin@192.168.0.208:7990/scm/klvchen/tale.git
设置用默认户名和密码登录,注意 URI 前面不允许有 http, 后面不允许有端口
vi ~/.netrc
machine 192.168.0.208
login admin
password klvchen123456
使用 git 指令显示其 url 地址
git remote -v
查看本地分支
git branch
创建本地分支 bugfix,切换到 bugfix 分支
# 方法 一
git branch bugfix
git checkout bugfix
# 方法 二
git checkout -b bugfix
查看远程所有分支
git branch -r
关联远程的 dev 分支,在本地起名为 dev 分支,并切换到本地的dev分支上
git checkout -b dev origin/dev
推送远程分支
git push origin dev
克隆远程仓库中的指定分支 (git clone 默认是克隆 master 主分支)
# git clone -b <指定分支名> <远程仓库地址>
git clone -b development http://klvchen@b.klvchen.com/scm/next/product.git
查看所有的分支
git branch -a
切换分支
git checkout master
删除分支
git branch -d dev
操作标签
git branch
* master
给当前分支打 tag
git tag rls_20170208
查看所有 tag
git tag
把标签推送到远端
git push origin rls_20170208
切换标签
git checkout rls_20170208
删除本地 tag
git tag -d ibacxx_test_20170210172424
查看远程的 tags
git ls-remote
删除远端 tag
git push origin :refs/tags/ibacxx_test_20170210172424
git push origin :ibacxx_test_20170210175756
# 说明
# origin 是远程主机名
# git push <远程主机名> <本地分支名>:<远程分支名>, 如果 : 前为空,则是用空的分支覆盖远端的分支
下载最新代码
git pull
git add -A 保存所有的修改
git add . 保存新的添加和修改,但是不包括删除
git add -u 保存修改和删除,但是不包括新建文件。
HEAD 是一个对当前检出记录的符号引用 —— 也就是指向你正在其基础上进行工作的提交记录。
# 查看 HEAD
cat .git/HEAD ,
# 如果 HEAD 指向的是一个引用,还可用查看它的指向
git symbolic-ref HEAD
撤销变更
git reset # 通过把分支记录回退几个提交记录来实现撤销改动。(本地)
eg: git reset HEAD~1
git revert # 撤销更改并分享给别人(远程)
eg: git revert HEAD
git cherry-pick
# 选择某一个分支中的一个或几个commit(s)来进行操作(操作的对象是commit)。
# 使用方法如下:
git cherry-pick <commit id>
#查询commit id 的查询可以使用git log查询(查询版本的历史),最简单的语法如下:
git log
git rebase
Rebase 实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去。
Rebase 的优势就是可以创造更线性的提交历史,这听上去有些难以理解。如果只允许使用 Rebase 的话,代码库的提交历史将会变得异常清晰。
eg: 合并 Bugfix 分支
git checkout Bugfix
git rebase master
git checkout master
git rebase Bugfix
or
git checkout Bugfix
git rebase master
git rebase bugFix master
返回到某个节点(把自行新建的文件删掉)
git clean -df
git push 加了参数-u后,以后即可直接用 git push 代替 git push origin master
git push -u origin master