git常用命令

原创 Z.F.Tree  2022-05-31 01:56  阅读 75 次

1.常用
config
git config --global user.name “Your Name”
git config --global user.email “email@example.com”
init
初始化git
clone
下载项目
status
查看状态
checkout
创建分支

git checkout -b branch1
切换分支

git checkout branch2
pull
git pull

git fetch + git merge
push
推送/创建远程分支

git push -u origin branch1
删除远程分支

git push origin --delete branch1
git push origin :branch1
推送分支

推送branch本地更新到release远程分支上,在推送之前,需要git pull origin release,在branch本地分支拉取release远程更新。

注意:就目前我们的代码和分支管理,不太推荐在release和master_pre上使用,因为我们的个人分支都是基于master的

git push origin branch1:release
add
修改&删除(update)

git add -u
更新&新增&删除

git add -A
git add .
commit
正常提交

git commit -m ‘message’
合并上一个提交

git commit --amend

可以修改commit message,且git图形化界面上只能看到最新的一次commit信息

merge
git merge branch1

把branch1合并到当前分支
log
打印信息

git log

git log --oneline

git log --pretty=oneline

git log --graph --pretty=oneline --abbrev-commit

比较分支commit信息

当我们忘记自己分支上的代码是不是已经合到master,或者想看一下有没有合到master的commit时,就很好用了

git log branch1 ^master
reflog
所有git操作的记录者

git reflog
2.stash
适用于:你临时接bug,需要放下手上的工作,切换分支做其他的场景,这时你把它们stash起来,改好临时bug就可以回来继续了。

标签:你的秘密小仓库

查看暂存区信息
git stash list
暂存
git stash
git stash save ‘message’
取出暂存
git stash pop
git stash apply stash@{0}
删除暂存
git stash drop stash@{0}
git stash clear
查看暂存
git stash show stash@{0}

修改哪个文件
git stash show stash@{0} -p

修改了的内容
恢复stash误删
step1:git fsck --lost-found
step2: git show
step3: git merge
3.rebase
适用于:一个功能有n个commit提交的时候。看着n多个无用commit就让人很难受,不仅不利于review代码,版本上线有问题,还不好排查。(所以说rebase是代码提交规范的小能手,也是强迫症的福音)

标签:强迫症福音

注意:rebase是一个危险的命令,如果在共同开发的分支上使用,会导致丢失提交记录。

建议:在只有自己开发的分支上操作

看一下这篇文章,你会学到更多:http://jartto.wang/2018/07/08/git-commit/(代码规范,commit)

git rebase -i [commitID]
进入vi编辑模式

有几个命令需要注意一下:
p, pick = use commit
r, reword = use commit, but edit the commit message
e, edit = use commit, but stop for amending
s, squash = use commit, but meld into previous commit
f, fixup = like “squash”, but discard this commit’s log message
x, exec = run command (the rest of the line) using shell
d, drop = remove commit

pick§
squash(s) 命令
git rebase --continue
处理冲突-继续
git rebase --edit-todo
关闭了vi-继续
git rebase --abort
撤销rebase
4.revert
git revert -n [commitID] + git commit -m ‘message’
git revert [commitID]
回退[commitID]这个版本的代码,其他保持不变
多个撤销
git revert -n [commitID1]…[commitID3]

撤销连续commit,至commitID1
git revert -n [commitID1]
git revert -n [commitID4]

撤销不连续commit,1和4
终止revert
git cherry-pick --abort

revert 之后,还没有提交,可以终止
5.reset
适用于:提交错误,代码回退。

reset的操作其实就是把指针指到你要到达的那个commitID(或版本),后面的commit(或版本)不再出现在git树中,但是只要你能找回id(git reflog),即使已经reset掉的commit,也可以用它找回来

标签:想走就走,想回就回

git reset --soft [commitID]

git reset --hard [commitID]

git reset --mixed HEAD^

git reset HEAD~1

master 分支在 GitLab 里是被保护的,无法强推
rebase + revert
6.remote
git remote add origin
远程库的http或ssh 把本地库与远程库链接
7.补充:创建新项目并关联git仓库
下载node(npm),xcode(git),安装vue,vue-cli,webpack.
vue init webpack ‘myproject’
创建vue 项目
npm install
加载依赖
git init
初始化git
git add .
add 所有文件
git commit -m ‘master’
提交所有代码
git remote add origin
关联远程库
git push -u origin mater
把代码推送到远程库

本文地址:https://www.dandroid.cn/?p=7881
关注我们:请关注一下我们的今日头条号:扫描二维码到桌源码网的头条号,头条号/微信公众号:到桌源码
版权声明:本文为原创文章,版权归 Z.F.Tree 所有,欢迎分享本文,转载请保留出处!
NEXT:已经是最新一篇了

发表评论


表情