Git命令大全
再使用Git的时候,有时候知道有这么一个命令能实现这样的功能,但是又想不起具体的命令。很多时候要花时间去网上找,但是这个比较费劲,要是把所有的好用的命令都记录下来,每次打开都到这里面搜索是不是会提升不少效率?
git中一些选项解释
-d
--delete:删除
-D
--delete --force的快捷键
-f
--force:强制
-m
--move:移动或重命名
-M
--move --force的快捷键
-r
--remote:远程
-a
--all:所有
从服务端拉取最新代码
git pull
远程主机的某个分支的更新取回,并与本地指定的分支合并,完整格式可表示为
git pull <远程主机名> <远程分支名>:<本地分支名>
如果远程分支是与当前分支合并,则冒号后面的部分可以省略:
git pull origin dev
本地分支push到远端
查看本地问价的变化
git status
添加本地变化的文件
git add -A
提交修改的代码到本地仓库
git commit -m"修改的描述"
git push origin dev
提交本地test分支作为远程的test分支
git push origin test:test
强推到远程
git push origin HEAD --force
关联upstream
git branch --set-upstream-to=origin/dev
本地分支,关联服务器分支
git branch --set-upstream-to origin/devtest devtest
或者
git branch --set-upstream-to=origin/devtest devtest
拉取远程主机的更新
git fetch
这个命令将某个远程主机的更新全部取回本地
git fetch <远程主机名>
如果只想取回特定分支的更新,可以指定分支名
git fetch <远程主机名> <分支名> //注意之间有空格;例如:git fetch origin master
选择或者切换到指定分支(当本地没有dev分支的时候会拉去服务器的dev代码)
git checkout dev
把dev的代码合并到当前分支
git checkout dev
查看本地所有分支
git branch
查看远程所有分支
git branch -r
查看本地和远程的所有分支
git branch -a
新建分支
git branch <branchname>
删除本地分支
git branch -d <branchname>
删除远程分支,删除后还需推送到服务器
git branch -d -r <branchname>
删除后推送至服务器
git push origin:<branchname>
重命名本地分支
git branch -m <oldbranch> <newbranch>
Git统计dzh程序员的代码行数
git log --author="dzh" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -
新建本地仓库关联git云端
a.git init //初始化一个git仓库
b.git remote add origin xxxxxx.git //绑定云端的git地址
C.git branch --set-upstream-to=origin/master master //关联分支
d. git pull --allow-unrelated-histories //处理报错fatal: refusing to merge unrelated histories
远程先创建好分支然后拉到本地
git checkout -b dev origin/dev
本地先创建好分支再推送到远程
git checkout -b feature-branch //创建并切换到分支feature-branch
git push origin feature-branch:feature-branch //推送本地的feature-branch(冒号前面的)分支到远程origin的feature-branch(冒号后面的)分支(没有会自动创建)
添加忽略还是删不掉文件
git rm -r --cached .idea
解决每次操作都需要输入用户名和密码
git config --global credential.helper store //在~/.gitconfig目录下会多出一个文件,这里会记录你的密码和帐号;再执行git pull 输入一次正确的帐号密码之后就不用再输入了
添加TAG
git tag -a v1.0.0 -m 'des for v1.0.0'
查看v1.0.0 TAG的描述
git show v1.0.0
推送TAG
git push origin --tags
查看Git的Log
git log
操作中有时候我们会进行错误的commit,这个时候想要撤销这次提交可以使用git reset命令
git log
git commit之后,想撤销commit
git reset --soft HEAD^
//HEAD^的意思是上一个版本,也可以写成HEAD~1
//如果你进行了2次commit,想都撤回,可以使用HEAD~2
# 几个参数:
--mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
## --soft
不删除工作空间改动代码,撤销commit,不撤销git add .
## --hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。
Git的commit注释写错了,只是想改一下注释
git commit --amend
//此时会进入默认vim编辑器,修改注释完毕后保存就好了
回滚到某个commit
git reset --hard HEAD^ //回退到上个版本
git reset --hard HEAD~3 //回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard commit_id //退到/进到 指定commit的sha码
合并某个commit
git cheery-pick f3851b6ecdcf8e641d09ab98a4462c01721b9a71
// 右键commit点击Copy Revision Number后去commit号
本地回退到某次提交
//回退到需要的版本
git reset --hard ed3607b87ade3d1bc0c4781e9f0178f4b5864a99
//推送到服务器
git push -f -u origin master
同步远程分支,当远程分支删除了,本地还有,使用该命令即可
git remote prune origin
0人点赞
Android
评论