git常用命令笔记

创建git版本库
在找好的位置区域打开git输入以下命令
$ mkdir learngit$ cd learngit$ pwd // 命令用于显示当前目录。

接下来通过
$ git init
将目录变为可用git管理的仓库
这时会生成一个名为.get的文件夹,默认是隐藏的,用ls -ah就可以显示出来了,这个文件夹里面放的都是以往git修改的版本,用于以后还原当初的某个版本。

在目录下编写一个名为gameName.txt的文本,想提交到git仓库只需要两步骤
//新增gameName.txt文件
$ git add gameName.txt
//当然你也可以
$ git add .
//代表提交所有文件,但是最好还是使用下面的方式
$ git add --a //提交所有变化,可以简写 git add -A
//因为这样的方式会让你删除的文件在版本库里面删除,这是上述命令做不到的。

将新增的提交到仓库还需要
$ git commit -m '本次修改的内容注释'
即可提交到暂缓区,但是需要注意的是如果之前没有add文件的话,那么文件的状态是未跟踪的状态,是无法提交的,这种情况的话,可以用下面这样的方法:
$ git commit -a -m '本次修改的内容'
这样的话会省略第一步的add。

查看当前状态,会提示你有那些文件文件发生修改了,但是并没有提交等信息
$ git status
如果你想详细的查看到底修改了哪里的话,需要如下命令
$  git diff  filepath 工作区与暂存区比较
$ git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较
$ git diff --staged 或 --cached  filepath 暂存区与HEAD比较
$ git diff branchName filepath  当前分支的文件与branchName 分支的文件进行比较
$ git diff commitId filepath 与某一次提交进行比较

如果我们想查看当前一共提交了多少个版本,并打算做回退到之前某个版本时,可以
$ git log
打印出所有提交过的版本节点,根据日期或者commit的内容进行时光回退操作,还可以添加上
$ git log --pretty=oneline
这样看着版本会更容易查找一些,如果想要回退到之前的某个版本
$ git reset --hard '从git log中打印出来的版本号,你想回退到哪个版本就输入哪个版本的ID,只需要输入五六位即可,git会自动去帮你查找的'
当然如果你后悔了,又想回到一开始的未来版本一样是这样操作的,不过这时候如果你用git log的话,是没有办法查看到未来的版本号的,所以你需要:
$ git reflog
查看未来的版本号,然后重新执行$ git reset --hard '版本号'即可。


当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,可以用如下命令
$ git checkout -- file
当你不但乱改了工作区某个文件内容,还添加到了暂缓区时,想丢弃修改,分两步,第一步用命令
$ git reset HEAD <file>
接下来再用即可
$ git checkout -- file


如果你想删除某些文件的话
$ git rm 'fileName'
即可,但是如果是误删的话,用
$ git checkout -- 'fileName'
一键还原就可以了,无论是修改还是删除都可以。


可以在GitHub上创建自己的远程仓库,创建完成后使用
$ git remote add origin git@github.com:liyang/'库的名称'.git
即可完成关联,关联后使用
$ git push -u origin master
第一次推送master分支上的所有内容,以后每次提交只需要
$ git push origin master
即可,-u主要是因为第一次的时候远程仓库是空的,需要将本地于远程关联起来才需要。

从远程仓库克隆项目的话,只需要
$ git clone '库的地址'
即可

在git上分工写项目的时候最好使用分支,这样会保证互不影响,最后只需要合并到主干(master)上即可
创建分支
$ git branch <分支名称>
切换分支
$ git checkout <分支名称>
创建+切换分支 -> 算是上面两条命令的集合
$ git checkout -b <分支名称>
查看分支
$ git branch
合并某分支到当前分支
$ git merge <分支名字>
合并时可以添加--no-ff表示禁用Fast foward(快速合并),好处在于可以看到合并后的历史分支
$ git merge --no-ff -m '提示信息' <分支名字>
删除分支(用于已合并过的分支)
$ git branch -d <分支名字>
如果要删除一个没有被合并过的分支的话,需要
$ git branch -D <分支名字>

我们在合并分支的时候很容易会碰到修改同样的文件而互相冲突的情况,这时候必须要手动修改成我们需要的内容之后在提交合并才可以。可以通过
$ git status
来查看冲突的文件,之后手动修改后在重新提交,可以用以下命令看到分支合并图
$ git log --graph


修复线上bug时,我们可以创建临时的分支,如果现有的分支手头工作并没有做完的话,还需要在这个分支上创建临时分支的话,只需要
$ git stash
先把现场隐藏保存,等修复好bug之后在用
$ git stash pop
恢复即可。


查看远程仓库信息
$ git remote -v
从本地推送分支
$ git push <仓库名称> <分支名称>
如果失败的话要先
$ git pull
抓取远程的新提交,之后在push,如果pull时有冲突,手动解决掉冲突之后在push
从本地创建和远程对应的分支名称,分支名称最好与远程仓库的分支名称对应一致。
$ git checkout -b <分支名称> <仓库名称>/<远程仓库的分支名称>
建立本地分支和远程分支的关联,使用
$ git branch --set-upstream <分支名称> <仓库名称>/<远程仓库的分支名称>

可以把本地未push的分叉提交历史成立成一条直线
$ git rebase
目的是使得我们查看历史提交的变化时更容易

创建标签名也就是版本号
$ git tag <标签名称>
指定标签信息的话需要加上-m属性
$ git tag -a <标签名称> -m '第一版本随意啦'
查看所有标签
$ git tag
推送一个本地标签至远程仓库
$ git push <仓库名称> <标签名称>
推送全部未推送的标签
$ git push <仓库名称> --tags
删除一个本地标签
$ git tag -d <标签名称>
删除一个远程标签
$ git push <仓库名称> :refs/tags/<标签名称>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值