git学习笔记—————git常用命令
推荐教程
https://backlog.com/git-tutorial/cn/
安装.git
git init
clone云资源
git clone 'url'
查看文件情况
git status
将文件加入到索引,要使用add命令。在指定加入索引的文件。用空格分割可以指定多个文件。
git add <file>..
指定参数「.」,可以把所有的文件加入到索引。
git add .
提交本地库
git commit -m "写提交的简述"
使用log命令,我们可以在数据库的提交记录看到新的提交。
git log
进入git 图形化界面
gitk
上传云端
git push
进行拉取(Pull) 操作就可以把远程数据库的内容更新到本地数据库。
git pull
主分支有两种:master分支和develop分支
- master
master分支只负责管理发布的状态。在提交时使用标签记录发布版本号。 - develop
develop分支是针对发布的日常开发分支。刚才我们已经讲解过有合并分支的功用。
通过branch命令来创建分支;name为要创建的branch名字
git branch name
显示分支
git branch
切换分支;name为要进入的branch名字
git checkout name
在checkout命令指定 -b选项执行,可以创建分支并进行切换;name为要创建并进入的branch名字
git checkout -b name
执行merge命令以合并分支。
- 先切换master分支,然后把issue1分支导入到master分支。
git checkout master
- 再执行merge命令,name为要合并的branch名字
git merge name
删除分支,name为要删除的branch名字
git branch -d name
merge 后文件可能产生一些冲突
<<<<<<< HEAD
I test
=======
hello word
>>>>>>> issue3
导致无法git push,手动修改文件,选择要保留的文本再重复上传流程即可
取消刚才合并
git reset --hard HEAD~
切换到选中的分支后,对master执行rebase
git rebase master
rebase的时候,修改冲突后的提交不是使用commit命令,而是执行rebase命令指定 --continue选项。若要取消rebase,指定 --abort选项。
git rebase --continue
git rebase --abort
使用tag命令来添加标签,在执行标签的名称。
git tag <tagname>
在HEAD指向的提交里添加名为apple的标签,请执行以下的命令。
git tag apple
在log命令添加 --decorate选项执行,可以显示包含标签资料的历史记录。
git log --decorate
进入界面后按Q退出
若要添加注解标签,可以在tag命令指定 -a选项执行。执行后会启动编辑区,请输入注解,也可以指定-m选项来添加注解。
git tag -a ddd
按i后对文本进行编辑
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zIUHox5w-1667476964945)(C:\Users\人生如澈\AppData\Roaming\Typora\typora-user-images\image-20221103181256329.png)]
输入后退出按esc 然后按
wq
对编辑文本进行保存、界面强制退出 按esc 后输入
:g!
在HEAD指向的提交里添加名为name的标签
git tag -am "注释" name
若要删除标签,在tag命令指定 -d选项执行
git tag -d <tagname>
更改commit 信息
git commit --amend
用revert取消「添加pull的讲解」提交
git revert HEAD
reset来删除master分支最前面的两个提交
git reset --hard HEAD~~
Reset错误的时候,在ORIG_HEAD上reset 就可以还原到reset前的状态。
git reset --hard ORIG_HEAD
用cherry-pick 取出「添加commit的讲解」提交,然后将其添加到master。
git checkout master
git cherry-pick <branchname>
如果发生冲突,就打开sample.txt,修改冲突的部分之后再提交
git commit
汇合「添加commit的讲解」和「添加pull的讲解」的修改,然后合并到一个提交
git rebase -i HEAD~~
如下报错:
$ git rebase -i HEAD~~ fatal: It seems that there is already a rebase-merge
先运行
git rebase --abort
然后再运行
git rebase -i HEAD~~
把name分支的所有提交合并成一个提交,并导入到master分支
git merge --squash name