Git / GitHub / GitLab 常用命令的总结:
1. git 基础信息
(1)查看用户邮箱和姓名
- git config user.name
- git config user.email
(2)修改用户名和邮箱地址 - git config --global user.name “username”
- git config --global user.email “email”
2. git 上传代码三步曲(add、commit、push)
- git status 查看有修改的本地文件
- git diff 查看本地文件具体做了哪些改动
- git add . //跟踪所有改动过的文件
- git add [file] //跟踪指定的文件
git命令删除缓存区(git add)的内容
git rm --cached file //将文件从暂存区中删除,执行该操作后需要重新 git add file
- git commit -m “commit message” //提交文件说明
- git commit -m “commit message” --no-verify //省去了eslint的校验
commit流程规范:Commit message 和 Change log 编写指南
git撤销commit,但未执行git push命令
git log //查找出提交历史记录
git reset --hard commit_id //完成撤销,同时将代码恢复到前一commit_id 对应的版本
git reset commit_id //完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改
- git push //默认push到当前的分支上
- git push origin [branch name]; git push 远程仓库别名 要推送的本地分支名称。 注意:要推送的分支与当前所处的分支名无关
3. git 其他常用命令
-
git init //当前目录进行初始化,使其变成一个Git可管理的仓库
-
git status //查看状态
-
git remote //列出已经存在的远程分支
-
git remote -v //查看远程版本的信息
-
git remote add [rename] [url] //添加远程版本库,(起别名)
-
git remote show [branchName] //显示远程仓库name的详细信息
-
git remote update //更新
-
git branch //显示所有本地分支,并指出当前位于哪个分支下
-
git branch -a //查看所有的分之(远程 + 本地)
-
git branch -l //查看本地的分支
-
git branch -r //查看远程分支
-
git branch -vv //查看分支详细信息(包括Commit ID以及描述) 本地分支对应的远程分支
-
git branch [branch name] //新建分之合
-
git branch -d [branch name] //删除本地指定分支
-
git branch -D [branch name] //强制删除本地分支
-
git push origin --delete [branch name] //删除远程分支
-
git push --set-upstream origin zlq //将本地的分支推送到远程服务器
-
git checkout [branch name] //切换分支到指定的分支下
-
git checkout -b [newBranchName] //切换分支,若分支不存在则新建
-
git checkout -b [branch name] [远程分支的commitId] //从某个分支的某次提交新建分支拉取代码
注意:更新当前分之对应远程分之下的最新代码
git checkout -b zlq2 //切换到新的分支
git remote update // 更新,正在获取origin
git reset origin/zlq2 --hard //将切换过来的分支修改为远程分支zlq2上的内容
// 以上三行可以直接写为 git checkout -b zlq2 origin/zlq2
- git log //查看提交历史
- git log --oneline //查看历史,以一行的格式展现
- git reset --hard HEAD //撤销工作目录中所有为提交文件的修改内容(控制版本的版本前进、后退)
- git reset origin/dev --hard
参考:https://github.com/includeios/document/issues/12
建议:避免使用 reset --hard,推荐使用 revert
- git fetch === git fetch origin master //从远程库获取最新代码,不会自动合并 merge
- git pull === git pull origin master 从远程库获取最新代码,会自动合并 merge
- git merge [branch name(被合并分支)] //事先通过切换分支到目标分支后,在进行合并(可以在远程分支上进行可视化的操作,来发送合并分支的请求)
-git merge --no–ff [branch name]
–no–ff参考:https://blog.csdn.net/qq_33538862/article/details/79202025
- git clone [url] //克隆远程版本库
- git clone -b [branch name] [url] //克隆远程版本库中指定分支下的内容
- git pull [remote] [branch] //将远程仓库中的代码下载下来并快速合并,即为:git pull 远程分支别名 远程分支名称
pull = fetch + merge;
clone 和 pull 的区别:
(1)clone 是本地没有 repository 时,将远程 repository 整个下载过来。
(2)pull 是本地有 repository 时,将远程 repository 里新的 commit 数据(如有的话)下载过来,并且与本地代码merge.
为了便于管理,一般master 分支上会打 tag
git checkout master
git tag -a v2.1.0 -m “public release 2.1.0”
git push --tags
查看tag信息:
git tab
git show v2.1.0
更多参考: https://www.jianshu.com/p/cdd80dd15593
Liunx / Ubuntu 系统下常用命令总结:
1. vim编辑器的使用
写在前面:进入vim编辑器之后无法退出并保存,可以尝试给要编辑的文件sudo权限(例如:sudo vim /file_path)。
进入编辑器之后按下字母 “i” 进入编辑模式。
编辑完毕,要退出,先按“Esc”。
1、保存并退出——shift+zz 或者 :wq!
2、不保存退出——:q!
3、强制退出——:!
4、正常退出——:q
2. 对文件和目录的基本操作
-
ls // 查看文件和文件夹
-
ls -a // 查看非隐藏及隐藏的文件和文件夹
-
mkdir [目录/文件夹名字] // 创建目录/文件夹
-
rmdir [文件夹] // 删除空文件夹
-
rm -r [目录] //删除目录
-
rm -rf [目录/文件/文件夹] //强制删除
-
pwd // 显示当前的目录
-
cd [文件名] // 进入某个文件夹
-
cd … 或者 cd …/ // 返回上一级目录
-
cd ~ // 回到用户主目录
-
cd / // 回到根目录
-
mv dir1 dir2 //把dir1移动到dir2
-
mv dir1 newdir // 把dir1改名为newdir
-
cp -r dir1 dir2 //把dir1复制到dir2下,并改名为原名(目录复制)
-
cp -r dir1 dir2/newdir //把dir1复制到dir2下,并改名为newdir
目录的复制(需要设置-r[recursive递归]参数,无视目录的层次)
-
cp file1 dir //把file1复制到dir下,并改名为原名(文件复制)
-
cp file1 dir/newfile //把file1复制到dir下,并改名为newfile(文件复制)
-
touch [文件名] // 创建文件,如 touch test.txt
-
rm [文件] //删除文件
-
find *.c // 查找当前文件夹下所有的 .c 文件
-
open . //打开当前命令里的文件夹
-
open ~/Desktop/cLearning/day01/day01.c //打开指定的文件夹或者文件
-
关机操作
//命令如下:
//立刻关机
sudo shutdown -h now
//十分钟后关机
sudo shutdown -h +10
//晚上十点二十二分关机
sudo shutdown -h 22:22
3. 文件的解压
- .zip
解压:unzip FileName.zip
压缩:zip -r FileName.zip DirName
//-r 表示递归 - .tar // .tgz
解包.tar:tar xvf FileName.tar
解包.tgz:tar xvzf FileName.tgz
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
-
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
-
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
- .gz
解压:gunzip FileName.gz