Git新随笔
初学者看 https://www.liaoxuefeng.com/wiki/896043488029600 就好了,很好学!
本次笔记主要是作为平时使用中,突然忘记时翻阅查看【记忆力不好就得多动手^v^】
简化很多操作代码,尽可能涵盖更多的操作代码。
- 首先安装,安装完了进行设置
git config --global user.name "Your Name" git config --global user.email "email@example.com"
注意git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
- 选择一个目录创建版本库
注意Windows目录中避免中文出现
- 创建git仓库
git init
- 添加到仓库
git add xxx
git add .
添加指定文件 xxx
添加当前目录下的所有文件 .
- 提交到仓库
git commit -m "xxx"
一定要输入本次提交的说明 -m "xxx"
- 查看当前仓库的状态
git status
- 查看difference
git diff
- 查看提交历史
git log
- 查看历史命令
git reflog
- 切换版本/回退/前进
git reset --hard commit_id
commit_id 版本号
HEAD 表示当前版本
HEAD^ 上一个版本
HEAD^^ 上上一个版本
HEAD~100 往上100个版本
-
工作区和暂存区
为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件
Git是如何跟踪修改的,每次修改,如果不用git add
到暂存区,那就不会加入到commit
中
- 撤销修改,丢弃工作区的修改
git checkout -- <file>
命令中的--
很重要,没有 -- ,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到
如果工作区文件被删除,也可以使用
git checkout
其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
- 撤销修改,撤销暂存区,重新放回工作区
git reset HEAD <file>
即 撤销 add 操作
- 删除文件
git rm <file> git commit -m "xxx"
从版本库中删除文件,先删除,再提交
误删使用 git checkout 还原
- 关联远程仓库
git remote add origin git@server-name:path/repo-name.git
- 删除/修改 远程仓库
git remote rm origin git@server-name:path/repo-name.git
git remote set-url origin git@server-name:path/repo-name.git
- 推送本地内容
git push -u origin master
由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
git push origin master
推送最新修改;
注意:
当执行 git push 时,有时可能会出现错误,如下:
$ git push origin master remote: invalid credentials fatal: Authentication failed for 'http://192.168.150.128:13000/root/first.git/'
此时,顺序执行下面两个命令后,一般会解决问题:
$ git credential-manager uninstall $ git credential-manager install
- 从远程库克隆
git clone git@server-name:path/repo-name.git
Git支持多种协议,包括https
,但通过ssh
支持的原生git
协议速度最快。
- 创建分支
git branch dev
git checkout dev
或者
git checkout -b dev
- 查看分支
git branch