git使用收集---持续更新
-
检查已有的配置信息:
git config --list
-
检查仓库最近的更新
git fetch
-
查看远程分支
git remote -v
-
关联远程仓库
git remote add origin https://github.com/jinsx2015/oa.git
-
手动建立映射关系
git branch -u origin/分支名
-
查看本地分支和远程分支映射关系
git branch -vv
-
从仓库拉取master最新内容到本地
git fetch origin master
-
合并内容到本地master分支
git merge origin/master
-
更新远程代码到本地(相当于fetch & merge两步操作)
git pull origin master
-
查看本地分支
git branch
-
查看远程分支
git branch -a
-
切换分支(-b参数表示创建并切换)
git checkout -b dev
-
将当前修改提交到其他分支
-
现在在分支prod上,想切换分支到dev上,如果没有commit
git stash git checkout dev git stash pop
-
如果commit了,去dev分支merge prod分支,然后回到prod分支回退版本
git checkout dev git merge prod # 合并某分支到当前分支 git checkout prod git reset --hard 版本号
-
-
推送到仓库
-
远程已有分支并且已经关联本地分支且本地已经切换到local_branch
git push
-
远程已有分支但未关联本地分支且本地已经切换到local_branch
git push -u origin/remote_branch
-
远程没有分支,本地已经切换到local_branch
git push origin local_branch:remote_branch
-
-
拉取分支
git checkout -b 本地分支名 origin/远程分支名
- 如果失败:尝试 git fetch;再失败 尝试 git pull origin master
-
克隆
git clone https://gitee.com/z417/webrunner.git # 不需要执行git init
-
给指定的某个commit号加tag
-
打tag不必要在head之上,也可在之前的版本上打,这需要你知道某个提交对象的版本号(通过git log获取,取前7位数字即可)
git tag -a v1.0.3 9fceb02 -m "my 1st tag" git checkout v1.0.3
-
列出标签
git tag # 输出当前仓库的所有标签
-
搜索标签
git tag -l 'v0.1.*' # 搜索符合模式的标签
-
推送标签到远程仓库
# git push并不会把tag标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库 git push origin [tagname] # push单个tag git push --tags # push所有tag (或 git push origin --tags)
-
删除tag
git tag -d v0.1 # 删除本地tag git push origin :refs/tags/v0.1 # 删除远程tag
-
-
删除本地分支
git branch -d <BranchName>
-
拉取远程分支并创建本地分支
-
方法一
git checkout -b 本地分支名 origin/远程分支名 # 在本地新建分支,并自动切换到该本地分支; 本地分支会和远程分支建立映射关系
-
方式二
git fetch origin 远程分支名:本地分支名 # 在本地新建分支,但是不会自动切换到该本地分支,需要手动checkout; 本地分支"不会"和远程分支建立映射关系
-
-
修改上一次提交的message信息(未push前)
git commit --amend # 进入vim或者vi编辑器打开相应的修改上次提交信息的界面,修改好提交然后保存之后使用git log可以看提交的历史,可以看到,messag信息已经被修改了
-
临时推送(指未与远程仓库建立关联,也未设置ssh的情况下,把修改推送到远程仓库)
git push https://gitee.com/z417/webrunner.git master