记录使用过的命令,
<xxx>
整块代表替换的内容
Tag 标签
git tag //查看tag
git tag <tag_name> | <commit_id> //在某个commit(c809ddbf83939a89659e51dc2a5fe183af384233)上打tag
git tag -a 1.0.0 -m '说明' //本地新增tag
git push origin <tag_name> //本地tag推送到远端
git tag -d <tag_name> //本地删除tag
git push origin :refs/tags/<tag_name> //本地tag删除了,再执行该句,删除线上tag
Commit 提交
git add <.> // . 代表全部
git commit -m '<说明>'
git log //看所有commit记录和<commit_id>
git reset --hard <commit_id> //本地回退
git push origin HEAD --force //提交到远端,提交到远端才需要这句
Branch 分支
git branch //列出本地分支
git branch <new_branch_name> <from_branch> //创建分支:从from_branch分支创建分支new_branch_name
git branch -d <branch_name> //删除本地分支
git branch -r -d origin//<branch_name> //删除本地的远程分支
git push origin -d <branch_name> //远程删除git服务器上的分支
git push --set-upstream origin <new_branch_name> //分支推送到远端
把 devel 分支重命名为 develop 分支
1、删除远程分支:
git push --delete origin devel
2、重命名本地分支:
git branch -m devel develop
3、推送本地分支:
git push origin develop
重命名git远程分支
1:重命名远程分支对应的本地分支
git branch -m <old_local_branch_name> <new_local_branch_name>
2:删除远程分支
git push origin :<old_local_branch_name>
3:重新推送新命名的本地分支
git push origin <new_local_branch_name>
Stash 暂存
git stash //暂存当前修改,将所有至为HEAD状态
git stash list //查看所有暂存
git stash show -p stash@{0} //参考第一个暂存
git stash apply stash@{0} //应用第一个暂存
git stash drop stash@{0} //删除第一个暂存
git提交代码,提示被远程拒绝了
先检查是否有权限push
git remote -v
origin http://github.xx.git (fetch)
origin http://github.xx.git (push)
1. cd ~
2. ls -al //看看有没有文件.git-credentials
3. vim .git-credentials //删除对应账号密码
4. cat .git-credentials //查看是否删除
5. 再重新git push提交代码,会再次要输入用户名和密码
清除pod缓存
清除pod缓存,demo pod过一个一样的版本,sdk更新.a,不需要重新发布,需要清除pod缓存
pod cache clean 项目名
pod cache clean PAIMSDKLib --all
Git简写
常用:
gst:git status //状态
gco:git checkout //切换分支
gl:git pull //拉取远端
gp:git push //推送到远端
ga:git add //暂存文件
gcmsg:git commit -m //提交
gca:git commit -v -a //提交包含暂存
==========
g:git
gst:git status
gd:git diff
gdc:git diff --cached
gdv:git diff -w "$@" | view -
gl:git pull
gup:git pull --rebase
gp:git push
gc:git commit -v
gc!:git commit -v --amend
gca:git commit -v -a
gca!:git commit -v -a --amend
gcmsg:git commit -m
gco:git checkout
gcm:git checkout master
gr:git remote
grv:git remote -v
grmv:git remote rename
grrm:git remote remove
grset:git remote set-url
grup:git remote update
grbi:git rebase -i
grbc:git rebase --continue
grba:git rebase --abort
gb:git branch
gba:git branch -a
gcount:git shortlog -sn
gcl:git config --list
gcp:git cherry-pick
glg:git log --stat --max-count=10
glgg:git log --graph --max-count=10
glgga:git log --graph --decorate --all
glo:git log --oneline --decorate --color
glog:git log --oneline --decorate --color --graph
gss:git status -s
ga:git add
gm:git merge
grh:git reset HEAD
grhh:git reset HEAD --hard
gclean:git reset --hard && git clean -dfx
gwc:git whatchanged -p --abbrev-commit --pretty=medium
gpoat:git push origin --all && git push origin --tags
gmt:git mergetool --no-prompt
gg:git gui citool
gga:git gui citool --amend
gk:gitk --all --branches
gsts:git stash show --text
gsta:git stash
gstp:git stash pop
gstd:git stash drop
grt:cd $(git rev-parse --show-toplevel || echo ".")
git-svn-dcommit-push:git svn dcommit && git push github master:svntrunk
gsr:git svn rebase
gsd:git svn dcommit
报错
git clone时报RPC failed; curl 18 transfer closed with outstanding read data remaining
详细如下:
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
原因1:缓存区溢出
解决方法:命令行输入
git config http.postBuffer 524288000
执行上面命令如果依旧clone失败,考虑可能原因2
原因2:网络下载速度缓慢
解决方法:命令行输入
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999
如果依旧clone失败,则首先浅层clone,然后更新远程库到本地
git clone --depth=1 <http://github.com/xxx/yyy.git> #clone最后一次的提交
git fetch --unshallow #非浅层转换为完整的存储库,消除浅层存储库所施加的所有限制