Git常用指令
1、origin指向的就是你本地的代码库托管在Github上的版本。origin就是一个名字,它是在你clone一个托管在Github上代码库时,git为你默认创建的指向这个远程代码库的标签
2、配置git工程的config
1)、进入到工程:D:\workbench\git\abc-marketing\marketing-admin
2)、git config --list
3)、配置用户名和邮箱
git config --global user.name andy.wangmz
git config --global user.email andy.wangmz@dadaabc.com
git config --global color.ui true(git显示颜色)
4)、配置别名(.gitconfig)
git config --global alias.st status
3、创建git仓库
创建新的文件夹,git init,则当前文件夹新增了.git文件夹
4、git add
把文件添加到仓库
git commit -m "write a readme file"
把文件提交到仓库
git status
查看当前仓库的状态
git diff readme.txt
查看工作区和版本库里最新版本的区别:
git diff HEAD -- readme.txt
场景1:丢弃工作区的修改
git checkout -- readme.txt
git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令
场景2:丢弃暂存区的修改
git reset HEAD
再按场景1操作。
场景3:已经提交了不合适的修改到版本库是,撤销本次提交。
git log查看提交历史
git reflog查看命令历史,以便回到未来的哪个版本
还原到主干的代码(此操作会把本地的变更修改了,慎用)
git reset --hard HEAD
git reset --hard HEAD~1(回滚到上一个版本)
git reset --hard commit_id
5、分支管理
1)、查看分支
git branch -r查看远程分支
git branch查看本地分支
git branch -a查看所有分支
git remote -v查看远程仓库
2)、创建+切换分支(默认当前分支指向新创建的分支)
git checkout -b test
相当于以下2条指令:
创建git branch test
切换git checkout test
创建远程的origin的dev分支到本地
git checkout -b dev origin/dev
3)、工作现场隐藏起来
git stash
恢复
git stash apply
删除
git stash drop
恢复并删除stash内容
git stash pop
查看stash内容
git stash list
4)、删除分支
git branch -d test
git branch -D test(如果分支未merge,删除时会提示,强制删除-D)
5)、分支merge
git merge test
合并指定分支到当前分支
不使用Fast forward模式
git merge --no-ff -m "merge with no-ff" test
6)、分支策略
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,
再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
6、删除文件
1)rm删除本地文件
2)、git rm test.txt
git commit -m ""
误删除,回退
git checkout -- test.txt
7、远程仓库
1)、本地仓库与远程仓库管理
git remote add origin https://gitlab.dadaabc.us/dadaabc/abc-marketing.git
远程仓库的名字叫origin,这是Git的默认叫法。
2)、本地库的内容推送到远程库
git push -u origin master
如果远程库是空的,第一次推送master分支是,加上-u参数。
git push origin master
本地master分支的最新修改推送到git仓库的origin。
8、冲突解决
1)、git merge test
冲突,必须手动解决冲突再提交。
2)、git status
git告诉我们冲突文件
3)、查看冲突文件,手工解决冲突。
4)、git add和git commit
5)、查看合并情况
git log --graph --pretty=oneline --abbrev-commit
9、推送到远程仓库
1)、git push origin test
2)、发生冲突,本地合并,解决冲突,再推送
git pull
3)、git pull 也失败,可能没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接
git branch --set-upstream-to=origin/dev dev
10、Rebase
1)、git rebase
rebase操作的特点:把分叉的提交历史“整理”成一条直线,看上去更直观。缺点是本地的分叉提交已经被修改过了。
11、打标签
1)、创建标签
git tag v1.0
创建带说明的标签(-a指定标签名,-m指定说明文字)
git tag -a v0.1 -m "version 0.1> 查看说明文字
git show v0.1
2)、查看标签(不是按时间顺序列出,而是按字母排序)
git tag
3)、标签忘记大了
git log --pretty=oneline --abbrev-commit
git tag v0.9 commit_id
4)、删除标签
git tag -d v0.1
远程删除
git push origin :refs/tags/v0.9
5)、推送标签到远程
git push origin v0.1
一次性推送全部尚未推送到远程的本地标签
git push origin --tags
12、忽略特殊文件
1)、.gitignore:把要忽略的文件名填进去,Git会自动忽略这些文件。
2)、.gitignore忽略文件,强制添加到Git
git add -f App.class
3)、找出不能添加的原因
git check-ignore -v App.class
13、分支比较
1)、本地分支与远程分支比较(显示差异的细节)
git diff/
2)、本地分支与远程分支比较(统计文件的改动)
git diff --stat/
3)、本地分支与远程分支比较(显示远程有而本地没有的commit信息)
git log/
4)、更新本地的远程分支
git fetch origin
页:
[1]