Git命令
HEAD是一个指针,通常情况下它可以将它与当前分支等同(其实它是指向当前分支)
HEAD 表示当前版本,也就是最新的提交。上一个版本就是 HEAD^ ,上上一个版本就是 HEAD^^ ,往上100个版本写100个 “ ^ ” 比较容易数不过来,所以写成 HEAD~100 。HEAD~2 相当于 HEAD^^ 。
git实际上分为三个仓库,本地工作区,中间暂存区,远端仓库。
提交命令
git add .
作用:把修改和添加的文件提交到暂存区,但不包括删除的文件。
git add -u
作用:把修改和删除的文件提交到暂存区,但不包括新文件
git add -a
作用:提交所有变化
撤销操作:当提交代码时不小心添加了错误文件,可以通过git reset HEAD进行撤销上次的全部提交,git reset HEAD ./../index.php 用来撤销某个文件。
注释命令
git commit -m “message”
作用:简要说明提交的改动。
查看改动命令
git diff
作用:查看当前工作区和版本库里最新版本的区别。
拉取命令
git pull
作用:从仓库或者本地的分支拉取并且整合代码。
git pull origin master
作用:拉取远程分支并且整合代码。
合并出现问题时可以通过git reset --merge进行回退
推送命令
git push
作用:把改动提交到当前分支上
查看分支
git branch
作用:查看所有本地分支
git branch -r
作用:查看所有远程分支
git branch -a
作用:查看所有分支
切换分支
git checkout
作用:检出(切换)分支
git fetch
作用:当git branch -a 查看不到新的分支,git fetch更新一下分支信息后就可以看见新分支了。
合并分支
git merge
作用:将其他分支合并到当前分支
恢复之前版本
git reset HEAD
作用:拉取最新一次提交到版本库的文件到暂存区,单独拉取某个文件用git reset HEAD -- index.php,然后git checkout可以拉取暂存区文件到本地仓库,同样的git checkout -- index.php可以从暂存区单独拉取一个文件到本地仓库。
git reset --hard 版本号
作用:拉取指定版本的文件到暂存区。
注意:如果想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法。
恢复之前版本
git revert -n 版本号
注意:创建一个新的版本为之前提交的某个版本,可以先用git log 查看所有提交记录。
git revert HEAD~3
作用:撤销HEAD指针之前的第3个提交,并且生成一个新的提交。
注意:如果我们想撤销之前的某一版本,但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法。
配置全局和局部的用户名、密码、邮箱
局部:
git config user.name “用户名”
git config user.passsword “密码”
git config user.email “邮箱”
全局:
git config --global user.name “用户名”
git config --global user.passsword “密码”
git config --global user.email “邮箱”
查看设置:
git config --list
有时拉取代码失败可能需要当前克隆仓库的账号密码,使用以下命令:
git clone --bare http://username:password@gitlab.300.cn/package1/myProject.git
其中:
①如果username使用的是邮箱,那么@符号要用%40代替,例如:123@qq.com,要写成123%40qq.com
实践问题
最近一次commit有问题怎么办(不进行再一次提交修改本次提交)?
代码:
git add 我是修改内容.text
gitcommit --amend
解释:
【amend】袖中,会对最新一条commit进行修正,会把当前的commit和暂存区的内容合并起来后创建一个新的commit,用这个新的commit把当前commit替换掉
刚提交完代码发现,还有没保存的文件,漏提交了上去了怎么办?
代码:
git add 我是忘提交的文件.text git commit -amend --no-edit
解释:
他表示提交信息不会更改,在git上仅为一次提交。
刚写完的提交太烂了,不想要了直接丢弃怎么办?
代码:
git reset --hard HEAD^ git pull
解释:
HEAD表示HEAD^往回数一个位置的commit,HEAD^表示你要恢复到哪个commit。因为你要撤销最新的一个commit(也就是当前未提交的内容),所以你要恢复到它上一次commit,也就是HEAD^。那么使用git reset --hard HEAD^就会恢复到上次提交前的样子,这时候再git pull把最后一次commit拉取下来,这样刚写完的修改就被撤销了(注意:一旦撤销到某个版本,那么这个版本之后的记录会全部消失,例如撤销到倒数第二次提交,那么最后一次提交记录就会彻底消失)。
代码已经push到线上,我想撤回到某个版本怎么办?
代码:
git revert HEAD
解释:
将代码回退到上一个版本,并生成一个新的提交记录,原历史记录不变。 实际上它commit了一条与上一个版本相反的内容,相互抵消,达到撤销的效果。
- 本文链接: https://www.shx1024.top//index/article/details/article_id/2.shtml
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。