git 命令小总结

时间:2023-03-08 17:52:41

下载代码

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