经常使用的git指令以及操做

1.经常使用的git应用

sourcetree、Forkhtml

2.经常使用的git指令

首先进入到目录下让,而后使用下面命令初始化gitgit

git initgithub

添加文件服务器

git add 文件名 //提交某个文件ssh

git add . //提交全部更改gitlab

git commit -m "本次提交备注" //提交到本地仓库 git status查看当前提交的信息状态url

git branch 查看当前git分支列表,也能看到当前的分支htm

git checkout -b dev 建立一个新的分支,名称为dev,并切换到该分支ip

git checkout master 切换到master分支,只能切换到已经存在的分支开发

git checkout dev 切换到dev分支

git log 查看最近提交记录信息

合并分支(不能在当前分支合并当前分支)

git merge dev //讲dev分支合并到当前分支,注意若是要合并到一个分支到另外一个分支,请先切换分支到另外一个分支例如:开发新功能分支dev, 原始分支master,要发布一个版本,合并版本,先切换到master分支,在合并dev分支:1 git checkout master 2 git merge dev

删除分支(不能删除当前分支)

git branch -d dev //删除dev的分支,这种只能删除没有提交的git分支

git branch -D dev //强制删除dev分支,已经提交的Git分支也能删除

回退操做,假如和平代码冲突了,能够用这个

git revert 是撤销某次操做,这次操做以前的commit都会被保留

git reset 是撤销某次提交,可是这次以后的修改都会被退回到暂存区

查看某次commit的改动

git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e

便可显示具体的某次commit的改动~

git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename

只看某次提交中的某个文件变化,能够直接加上fileName

链接到远端

注意后面是Git仓库名称,能够是https的,也能够是ssh的

Git 使用命令推送到远程仓库

git remote add origin git@github.com:Marshal-S/LSWebView.git

git push -u origin master //将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就能够不加任何参数使用git push了

git push origin master //默认推送到远程仓库的方式,不作任何设置

如何把现有的仓库内容推送到另一个仓库

首先更改url

git remote set-url --add origin git@github.com:Marshal-S/LSWebView.git

而后推送

git push origin master

//查询当前远程的版本

$ git remote -v

//直接拉取并合并最新代码

$ git pull origin master [示例1:拉取远端origin/master分支并合并到当前分支]

$ git pull origin dev [示例2:拉取远端origin/dev分支并合并到当前分支]

从本地提交代码到服务器

$ git push origin dev [示例2:将当前分支提交到远端origin/dev分支]

git从仓库中导出某一个版本

git archive -o ../../publish/a2.zip(目标路径以及文件包名) 31d0104(当前版本)

设置忽略文件gitignore

在仓库目录下新建一个名为.gitignore的文件

以'#'开始的行,被视为注释.

忽略掉全部文件名是 project.txt的文件.

project.txt

忽略全部生成的 html文件,

*.html

project.html是手工维护的,因此例外.

!project.html

忽略全部.o和 .a文件.

*.[oa]

配置语法:

以斜杠“/”开头表示目录;

以星号“*”通配多个字符;

以问号“?”通配单个字符

以方括号“[]”包含单个字符的匹配列表;

以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

经常使用的规则:

/mtk/ 过滤整个文件夹

*.zip 过滤全部.zip文件

/mtk/do.c 过滤某个具体文件

被过滤掉的文件就不会出如今git仓库中(gitlab或github)了,固然本地库中还有,只是push的时候不会上传。

须要注意的是,gitignore还能够指定要将哪些文件添加到版本管理中:

!*.zip

!/mtk/one.txt

惟一的区别就是规则开头多了一个感叹号,Git会将知足这类规则的文件添加到版本管理中。

为何要有两种规则呢?想象一个场景:假如咱们只须要管理/mtk/目录中的one.txt文件,这个目录中的其余文件都不须要管理,那么咱们就须要使用:

/mtk/

!/mtk/one.txt

假设咱们只有过滤规则,而没有添加规则,那么咱们就须要把/mtk/目录下除了one.txt之外的全部文件都写出来!

相关文章
相关标签/搜索