Git常用命令

Posted BGPY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git常用命令相关的知识,希望对你有一定的参考价值。

查看git 用户名和邮箱地址:
git config user.name
git config user.email
修改用户名和邮箱地址
git config user.name "xxx"
git config user.email "xxx"

创建一个版本库:
mkdir learngit 然后使用git init 将这个目录变为git可以管理的仓库
添加文件到仓库
git add <file> 将文件添加到暂存区
git commit -m "提交记录" 将文件提交到分支
git status 可以时刻查看仓库的状态
git diff 查看文件变化
我们创建的learngit就是一个工作区
git diff HEAD -- xxx xxx是指需要查询的文件 查看工作区和版本库最新版本的区别
git checkout -- file 撤销工作区的修改
这条命令是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原
同样 如果工作区的内容被误删了,也可以使用这条命令从版本库中还原一下

如果需要撤销暂存区的修改 先使用git reset HEAD file 将暂存区的修改回退到工作区,然后
再使用git checkout -- file 撤销工作区的修改

删除工作区的文件直接rm就可以,如果需要删除版本库的这个文件
先需要git rm file 删掉 然后再git commit一下

查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>

如果主线master和分支分别修改同一文件,然后分别提交上去,最后
merge分支就就有冲突,所以在工作区修改掉冲突,再提交上去

git merge --no-ff -m “xxx” 分支名字
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,
能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并

经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,
而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,
否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令
(不太明白为什么不能弄几个分支同时工作,非要提交了别的分支 才能在新的分支中工作?)
先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除

命令git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
命令git tag可以查看所有标签。
git show <tagname> 可以看到这个tag的信息

命令git push origin <tagname>可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签。
git 命令别名 例子: 下面co就是别名 checkout是原来的命令
git config --global alias.co checkout

以上是关于Git常用命令的主要内容,如果未能解决你的问题,请参考以下文章

:常用工具命令第25节:常用命令 - Git命令

Git常用命令收集

Git常用命令

Git常用命令

Git常用命令

Git常用命令