ctrl+F 搜索
删除文件
- 1. rm -rf filename 或 rm filename:删除工作区文件 2. git rm filename:从git中删除文件 3. git commit -m '描述'
- 如果删错了文件,且之前add过或者commit过,则可以使用 git checkout -- test.txt 恢复到最新版本(不过你会丢失最近一次提交后你修改的内容),但若没有add或commit过,就不能恢复
版本回退
- 把当前版本 回退到上一个版本 ,就可以使用 git reset --hard HEAD^ git reset --hard 1094a 直接指定版本号也可以 Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是移动指针
- 在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
- git reflog:按时间显示你的项目所经历过的所有版本号(包括回退的操作)
撤销修改
- git checkout -- readme.txt:把readme.txt文件在工作区的修改/删除全部撤销,这里有两种情况:一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态; 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。总之,就是让这个文件回到最近一次git commit或git add时的状态
- 当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>:把暂存区的修改撤销掉(unstage),重新放回工作区(当我们用HEAD时,表示最新的版本)。第二步,用git checkout -- readme.txt撤销掉工作区的修改。git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
远程仓库
- 可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
- 要关联一个远程库,在本地新建仓库,然后使用命令git remote add origin git@server-name:path/repo-name.git;关联后,使用命令git push -u origin master第一次推送master分支的所有内容(注意此前要add、commit);此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改
分支
- git branch dev:创建分支dev
- git checkout dev 或 git switch dev:切换到dev分支
- git checkout -b dev 或 git switch -c dev:创建并切换到dev分支
- git branch:查看当前分支
- git merge dev:将dev分支合并到当前分支
- git branch -d dev:删除dev分支
- 因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。
其他
- git clone 仓库地址:将git远程仓库的项目下载(克隆)到本地
- git config --list:查看当前用户信息(用户名、邮箱等)
- git push:将本地仓库同步到远程仓库
- git log:查看版本的历史记录。如果嫌输出信息太多,看得眼花缭乱的,可以试试git log --pretty=oneline
- 进入文件用vi 命令。保存退出先按esc,再shift+zz或:wq或:x。 :wq 强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。 :x 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间
- git diff:显示已被add到版本库中的文件,在工作区和暂存区中的内容差异。新建一个文件,然后用git diff,没有显示是因为还没有add
- git diff --cached:查看暂存区和仓库的差异
- git diff HEAD -- readme.txt:查看工作区和版本库里面最新版本的区别
- pwd:显示当前位置
- git init:初始化仓库
- touch filename:创建文件
- git status:查看文件在哪个区
- git add:将文件从工作区提交到暂存区
- git commit -m "提交描述":将文件从暂存区提交到本地git仓库
- makedir foldname:创建文件夹
- ls:显示当前文件夹有哪些文件