git简单使用
1、初始化git
进入到你想要的创建git仓库的文件夹。然后在当前目录(文件加下)输入
git init
便可创建成功。然后会生成.git文件。
2、添加到仓库,并且提交
可以添加多个文件夹(当然也可以添加一个)
//添加文件夹的git命令
git add 1.txt 2.html ....
添加完后 可以输入
// -m 参数 表示你想要添加的信息 后面接的参数值就是你想要提交上去的信
信 注意提交信息最好与你的操作有关(方便他们 方便自己)
git commit -m "some message which you want explain"
3、获得之前的提交文件(可以理解为变化到之前提交的状态)
我们往往会出现提交完后觉得不妥,或者说是想要重新去再上一个文件上修改。或者别人来帮你处理你提交上的不妥。那如何去实现呢,艾克大招就是很好的解决。
//回到上一个状态HEAD^,上上一个状态为HEAD^^,依次类推
git reset --hard HEAD^
4 指定git跳转
我们如果回到了之前提交的文件,但是我们又想回到原来的git提交的时候,那怎么办呢?放心,只要知道给正确的提交号,咱们又可以回来了。下图红色的圈框出来的便是id.
我们写下面的命令时,可以不用写完整的号码,意思一下得了。(写前四个或者更多号码都行)
git reset --hard 319e
5 查看git提交的日志和查看git查找的每个命令
5.1 查看提交的日志。
git log
pretty查看分支合并图
git log --graph --pretty=oneline --abbrev-commit
5.2 查看已经使用过的命令
git reflog
6 查看状态
查看自己提交、修改等状态信息
git status
7 git管理修改(git diff)
假如我们有一个a文件在git工作区,可是呢?我们对其进行以下操作。
1、修改a文件内容
2、git add a文件
3、然后在修改a文件内容
4、直接提交git commit -m “balabala”
显而易见a文件第二次根本没有加入stage缓存区,则提交的只会是第一次修改的内容。
如何查看到底有没有修改呢?或者说如何查看工作区中的文件与提交的文件的区别呢?
git diff HEAD -- xxx(文件名)
由于我在工作区修改的文件为中文,所以会以如上编码显示。
8 取消git操作
8.1取消工作区修改
// use "git restore <file>..." to discard changes in working directory
git restore <file>
8.2 将加入至缓存区的文件撤回到工作区
//use "git restore --staged <file>..." to unstage
git restore --unstage <file>
9 删除版本库中的文件
分为两个步骤:1、git rm <file>(版本库中的文件)
2、git commit -m "balalala"
10 远程github操作
请看下面这篇博主的文章,上面讲述了一些重要的环节。
github远程仓库的处理与详情
常见指令
//关联仓库
git remote add origin git@github.com:xxx(你的GitHub用户名)/(仓库名).git
eg:
git remote add origin git@github.com:gugusama/git-test.git
//推送分支至master
git push -u origin master
//从远程从仓库克隆
git clone git@github.com:gugusama/git-test.git
11 分支操作
分支的存在,无疑是给工作中排查问题解决问题的一个好的选择。若我们想要写新的模块可以选择用分支!
//创建分支
git branch <分支名>
//查看分支
git branch
//创建并切换分支
git checkout -b <分支名> 或者 git switch -c <分支名>
//切换分支
git checkout <分支名> 或者 git switch <别的分支名>
//合并分支(在哪个分支下去合并别的分支)
git merge <别的分支名>
//删除分支
git branch -d <分支名>
12 bug处理
当然我们写的过程中如果master出现了bug,但是我们当前分支dev中的代码没有解决完,我们该怎么办。git给我们提供了很好的处理方式。
1.将当前的加入stash
git stash
2、创建新的分支去解决问题
git switch -c handlebug
3、解决问题完提交
git add ...
git commit -m ...
4、恢复到原来的分支上
git stash pop
奈斯,很好的解决了问题,还重新回到了我们的开发分支上了!
but!!! 我们的dev分支是从master上出来的呢?正好是bug未解决前出来的呢?不会要重新在搞一遍吧,不会吧。。。。。
当然是没必要的啦。
git cherry-pick <解决bug完成后(并且要提交)的解决bug的分支号(id)>
如果说我们要查看stash中内容咋看呢?下述命令即可查看。
git stash list
若有写的不好的或者有问题的地方,欢迎大家来私信我。后续可能会发git操作时出现的矛盾冲突以及相关解决方案。