git使用(下) ——常用命令总结

接下来是git常用命令的总结:

编写一个文件之后要把文件放单Git仓库需要两步, 举例编写了一个文件readme.txt

第一步,git add命令告诉Git,把文件添加到版本库的缓存区中

$ git add readme.txt

第二步,git commit命令告诉Git,把文件从缓存区中提交到分支

$ git commit -m "wrote a readme file"
[master (root-commit) eaadf4e] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

 

git status  时刻查看工作区、仓库 当前的状态

git diff <filename>  查看filename文件被修改了什么

git diff HEAD -- <namefile>

git log  查看提交历史,显示从最近到最远的提交日志
git log --pretty=oneline   命令作用同上,只是显示更简洁
git log --graph    查看分支的合并情况
git log --graph --pretty=oneline --abbrev-commit    简洁查看分支的合并情况

git reset --hard HEAD^         回退到上一个版本     
git reset --hard HEAD^^       回退到上上一个版本     
git reset --hard HEAD~100  回退到上100个版本  
git reset --hard 04ef             回退到commit id 为 04ef....的某个版本,也可以是未来的某个版本

git reflog    用来记录你的每一次命令,以便确定要回到未来的哪个版本

git checkout -- <namefile>     把文件namefile在工作区的修改全部撤销,前提是工作区的修改还没有添加到暂缓区
git reset HEAD <namefile>    可以把暂存区的修改撤销掉(unstage)    然后用上边的命令撤销修改

删除文件
rm <namefile>         在工作区删除了文件后,下一个命令
git rm <namefile>   从版本库中删除namefile文件     删除之后 git commit提交 记得加 -m
git checkout -- <namefile>   如果误删,版本库里还有,可以把误删文件恢复到最新版本,原理版本库里的版本替换工作区的版本,无论是修改还是删除 都可以“一键还原”

如何关联远程库:
git remote add origin git@github.com:YanMario/mac.git    

删除被关联远程仓库的名字:
git remote rm origin


将本地仓库与github上的一个仓库进行关联。红色的字分别对应你Github的帐号和仓库名称,添加后远程库的名称就是origin,是Git的默认叫法,也可以改成其他名称

git push -u origin master      
第一次推送master分支时 加上 -u参数,这样Git不仅会把本的master分支内容推送到远程新的master分支,还会把本地的master分支与远程的master分支关联起来,以后推送和拉取可以简化命令 省去-u参数

git push origin master  把本地master分支的最新修改推送到Github

 

如何克隆远程仓库:
git clone git@github.com:YanMario/mac.git

 

创建与合并分支:
git branch dev  是创建一个新的分支名字为dev

git checkout dev 是切换分支到dev,相当于HEAD指针指向了dev

git checkout -b dev   将上边的两条命令合并为一条命令

git branch 列出所有分支,当前分支前边会有一个 *

创建一个分支后对文件进行了改动后,要将文件添加缓存区(git add)  然后将文件提交到版本库(git commit -m "xxx")
现在dev工作完成,我们就可以切换回master分支:
git checkout master       切换分支到master中

当切换到master分支中,刚才文件改动后的内容不见了,因为那个提交是在dev分支上,而master分支此刻的提交点并没有变

现在,我们把dev分支的工作成果合并到master分支上:
git merge dev

合并时表示禁用Fast forward:
git merge --no-ff -m "merge with no-ff" dev      会多有一次commit 所以加上 -m.   
加上 --no-ff 参数后可以使用普通的合并,合并后的历史有分支,能看出来曾经做过合并,而 fast forward合并看不出来曾经做过合并

合并完成后,可以放心的删除dev分支:
git branch -d dev

如果分支删除被阻挠,可以使用以下命令可以强行删除:
git branch -D dev

 

当修复bug时,想创建另一个分支来修复它,但正在dev上进行的工作没有完成,可以先保存现场:
git stash    把当前工作现场“储藏”起来,等恢复现场后继续工作

git stash list 查看保存的工作现场

git stash apply 恢复现场,但stashd内容并不删除,需要在用命令 git satsh drop 来删除

git stash pop 恢复的同时直接把stash内容也删除

 

 

git fetch  将远程的分之拉取下来

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值