实际工作中常用git命令

一次完整的提交

初始化,本地新建的项目,关联到远程
git init
git remote add origin xxx.git

clone
git clone xxx.git

拉取代码,commit 之前先 pull 一下,避免出现无意义的 merge
git pull

将改动代码加到暂存区
git add .

将暂存区里的改动给提交到本地的版本库,并带有注释
git commit -m 'commit注释'

将本地版本库的分支推送到远程服务器上对应的分支
git push

分支管理

切换到目标分支
git checkout origin/fix/search

基于当前分支新建分支
git checkout -b fix/search

关联origin
git push --set-upstream origin feat/mall-total

分支合并(git merge)

你需要另一个分支的所有代码变动,那么就采用合并

切换到目标分支
git checkout sit

拉取最新代码
git pull

合并分支
git merge origin/fix/search

解决冲突
编辑器解决

推送
git push

合并某次提交

你只需要部分代码变动(某几个提交),这时可以采用 Cherry pick

参考:http://www.ruanyifeng.com/blo...

commitHash:
image.png

将某一次提交的内容合并过来
git cherry-pick -n commitHash

多次提交一起合并
git cherry-pick -n commitHashA commitHashB

-n (--no-commit) : 只更新工作区和暂存区,不产生新的提交。

回滚

回滚到commitHash,讲commitHash之后提交的commit都去除
git reset --hard commitHash

将最近3次的提交回滚
git reset --hard HEAD~3

回到上一個 commit 不清除修改的內容
git reset HEAD^ 

回到上一個 commit,並且強制清除修改的內容
git reset HEAD^ --hard

将目前自己本机的代码库推送到远端,并覆盖,慎用
git push -f 

撤销某一次中间提交

git revert commit_id
//如果commit_id是merge节点的话,-m是指定具体哪个提交点
git revert commit_id -m 1
//接着就是解决冲突
git add -A
git commit -m ".."
git revert commit_id -m 2
//接着就是解决冲突
git add -A
git commit -m ".."
git push

git 别名设置

git config --global alias.st status
git config --global alias.ci commit
git config --global alias.ch checkout

使用如下:

git st
git ci -m '提交'
git ch branch-name

其余骚操作

# 按提交时间排序所有分支
git branch --sort=-committerdate

# 切换到上一个分支
git checkout -
git checkout @{-N} #前N个分支

# 查看哪些文件处于什么状态
git status
 
# 列出 commit ID, commit message and remote
git branch -vv

# -sb git status的缩减版
git status -sb

常用命令行操作 (Mac)

打开 vscode 项目
code .

保存并退出
shift zz 

列出当前文件下的文件
ls
ls -a 查看隐藏

显示隐藏文件夹
命令 commond shift .

创建目录
命令:mkdir xxx

进入目录
命令:cd
比如要进入xxx目录则就是cd xxx

返回上一级目录
命令:cd..

删除目录(空目录)
命令:rmdir
注意:此删除不会出现在废纸篓里

删除目录(非空或者空目录都可以删除)推荐使用
命令: rm -rf
案例:rm -rf test(rm -rf命令后面空格在加上目录名)
注意:此删除不会出现在废纸篓里

创建文件
命令:touch
示例(创建一个test为名的txt文件):touch index.html

删除文件
命令:rm
案例(删除一个test.txt文件):rm test.txt
注意:此删除不会出现在废纸篓里

拷贝
命令:cp
案例(拷贝一个test.txt文件并重新命名为test2.txt):cp test.txt test2.txt

查找
命令:find
案例(查找当前目录下所有的txt文件):find *.txt

显示当前的目录
命令:pwd

打开成可视化的文件夹
命令:open
说明:如果是open .则是打开当前命令里的目录,如果要打开指定的文件夹或者文件则格式为open 要打开的路径即可。

参考:https://www.liaoxuefeng.com/w...


JiaXinYi
840 声望342 粉丝