git相关的操作


给大家分享下git的使用心得,有不足的请大家补充:

克隆:git clone https://XXXXX

克隆指定分支:git clone -b https://XXXX

添加所有:git add .(注意add后面有个点

添加指定:git add XXX

上传本地:git commit -m “XXX”

推送服务器:git push -u origin "branch-name"

拉取更新:Git pull origin “branch-name”

本地与远程分支同步:git pull

合并:git merge “branch-name”(想把A分支合并到B分支,需要切换到B分支,然后执行git merge A)

切换分支:git checkout “branch-name”

创建分支:Git branch “branch-name”

创建并切换分支:git checkout -b “branch-name”

拉取查看更改:git diff HEAD^

查看本地修改:git diff

查看分支:Git branch

查看远程分支:git branch -r

查看分支状态:git status

删除分支:git branch -d “branch-name”

删除远程分支:git branch -r -d “branch-name”

删除分支后还能看到分支:使用命令 git remote show origin可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息,此时我们可以看到那些远程仓库已经不存在的分支,根据提示,使用 git remote prune origin 命令:

取消修改:git checkout .(这个只适用还没有add的操作,注意checkout后面有个点

取消add操作:git reset HEAD XXX/XXX/XXX.c 就是对某个文件进行撤销了

取消commit操作:git reset --soft HEAD^

filemode的变化,文件chmod后其文件某些位是改变了的,如果严格的比较原文件和chmod后的文件,两者是有区别的,但是源代码通常只关心文本内容,因此chmod产生的变化应该忽略,所以设置一下:
git config --add core.filemode false

解决在git上提交项目,忘记创建.gitignore进行文件过滤问题
git rm -r --cached XXX,然后在.gitignore里面添加忽略即可

基于某个commit打tag

git tag “name” -m “comments” aca89         git push origin --tags

删除本地tag:
git tag -d v20190514 删除远程tag:
git push origin :refs/tags/VXXX