前端学习笔记-常用git和cmd命令

389 阅读6分钟

linux的一些命令行

命令含义使用环境cmd对应
ls列出当前目录下的文件列表linux,git base,powershelldir
clear清空已显示的控制台内容linux,git basecls
touch aa.txt新建一个aa.txt文件linux,git base
rm -fr aaa强制删除aaa文件,或aaa目录及其子文件linux,powershellrd和del
cat cs.js查看cs.js文件内容linux,git basetype
diff a.html b.html比较a.html和b.html的不同linux,git basefc
cp cs.txt cs2.txt复制文件cs.txt为cs2.txtlinux,powershellcopy
mv cs.txt aaa移动cs.txt文件到aaa目录linux,powershellmove
d:切换盘符到d盘
mkdir aaa在当前目录创建一个aaa文件夹
cd aaa进入aaa目录
cd ..返回上层目录
mkdir aaa && cd aaa创建aaa目录并且进入aaa目录
ipconfig /all查看ip地址等信息,注意g和/之间有个空格
ping 192.168.0.1ping链接,注意只有域名或ip

vim等操作

用vim操作修改一个文件的文本内容

  1. ls 查看当前目录可访问的文件或文件夹
  2. vim .git/config 打开.git目录下的config文件
  3. 移动光标到要修改的位置,按i进入insert和replace的切换,进行插入或者覆盖。数字键盘旁边的insert键可以切换
  4. 按Esc键退出编辑
  5. 按shift+:键,输入wq回车,或者q!回车,退出vim

vim命令参考 进入vim <文件名> # 进入或创建文件; 所有文件都能用vim打开 按i可切换insert和replace

退出 按esc退出编辑,按shift+:进入命令 输入

  • q 强制退出\
  • wq 保存并退出 输入代码后,wq保存退出会进入检查界面,检查代码是否符合pep8的规范,之后再:q直接退出。\
  • q! 不保存退出

vim .git/config 打开.git目录下的config文件

\[remotye "origin"]
url = http://xxxname:xxxpassword@...........

name的位置填写昵称,password填写git密码,这样远程拉取代吗时就不用买每次都输入密码了。

git

常用命令集合

命令含义说明
git add -A提交所有变化到暂存区git add --all的缩写
git ci -m "xxx"将暂存区的代码提交到本地仓库xxx是说明文字,ci是commit的缩写
git pull origin br1从远程的br1分支拉取代码到本地
git push origin br2将本地仓库同步到远程仓库的br2分支
git fetch更新远程分支
git br查看所有的本地分支*号标出来的是当前所在的分支,颜色也会不一样
git br -a查看本地的远程的所有分支红色的是远程分支, br是branch的缩写
git co br1切换到(本地的)br1分支co是checkout的速写,如果本地没有br1分支则会报错
git co -b br3新建一个br3分支,并切换到该分支
git br -D br1删除本地的br1分支
git push origin --delete br1删除远程的br1分支
git br -m oldBr newBr把本地oldBr分支名称修改为newBr
git remote -v查看本地仓库对应的远程
git st查看本地修改的内容(包括文件的新增,修改,删除)没有被add的内容是红色的。被add,但没有被commit的内容是绿色的
git co .撤销所有文件的修改和删除(不包括新增)作用于是还没有被add的文件
git co aa.js单独撤销某一文件的修改同上
git clean -df撤销所有新增的文件作用于是还没有被add的文件
git reset .撤销所有被add的内容,使其变为修改了,但还没有被add的状态作用于被add了,但还没被commit的文件
git log打印出所有commit的记录能看到 commitid和时间等信息可以按q退出
git log --pretty=oneline已更友好的形式展现commit记录只能看到commitid和备注
git reflog列出所有git相关操作的记录操作id可以用来回退代码
git reset --hard id回退到某个对应id的代码版本可以是commitid或者操作id
git init在当前目录生成一个.git文件夹这是一个隐藏的文件夹,主要放置git的配置文件等
git remote add origin xxx将本地仓库和远程仓库进行关联会在.git目录里写入内容,xxx建议是http开头的链接
git config --user.name "xxx"不建议加--global,因为很多时候会有多个git帐号会在.git目录写入内容
git config --user.email "xxx"不建议加--global,因为很多时候会有多个git帐号会在.git目录写入内容
git log -p XXX-XXX data/data/data.json查看上一个提交记录中,对应文件修改了哪些内容XXX-XXX为分支名 后面为文件路径
git reset master --hard在git co .和git reset没有效果时,可使用这个命令强制重置

几种git add的区别

  • git add -A 提交所有变化 git add --all的缩写
  • git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) git add --update的缩写
  • git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

git commit -a

加了-a,在 commit 的时候,能帮你省一步 git add ,但也只是对修改和删除文件有效, 新文件还是要 git add,不然就是 untracked 状态

已有的文件夹和远程仓库建立连接

  1. 打开目标文件夹,执行git init,生成.git目录;
  2. git config --user.name "xxx"和git config --user.email "xxx"都是可选的操作,建议第一次时加上;
  3. 执行git remote add origin xxx将本地仓库和远程仓库进行关联;
  4. 执行git pull origin master拉取远程代码。然后git add -A,git ci -m "xxx";
  5. 第一个提交远程的时候,可以选择git push -u origin br1或者git push origin br1。区别在于:加了-u之后,下次git pull和git push就不用在加origin master这样的后缀了。

文件的回退

  • 如果已经add了,可执行git reset .(或者 git reset HEAD)撤销git add的内容,再用git co .撤销修改(文件的修改,和文件的删除),或者git co 7.js可撤销单独某个文件的修改或删除。可用git clean -df删除新增加的文件
  • 如果还没有被add,可以选择git co .或者git clean -df来进行撤销

版本回退

通过git loggit reflog可以找到对应的commitid和操作id,然后用git reset --hard id命令进行恢复, 在多人协作的分支上推荐用git revert

git revert和 git reset的区别:

  • git revert 会新建一条 commit 信息,来撤回之前的修改。
  • git reset 会直接将提交记录退回到指定的 commit 上。

git pull --rebase origin br1会已rebase的方法进行合并,更安全

pull的本质其实就是fetch+merge,也可以加入--rebase通过rebase方式合并

查看某文件的历史修改记录

查看一个文件的修改记录 git log --pretty=oneline index.phtml 会出现commit的哈希值和提交备注

git show hash值 查看某次提交的修改详情,如果内容太多会无法显示完整,需要按q键退出当前命令,也可以使用如下命令,将修改的内容打印成文本

git show hash值 >log.txt

参考: