您的位置:首页 > 其它

项目管理---git----快速使用git笔记(六)------本地开发与远程仓库的交互----常用git命令

2016-12-14 10:35 931 查看
无论是我们自己把本地的项目新建了一个远程仓库 还是 从远程仓库获取到了 本地,现在我们都在本地有了一份项目代码,服务器上对应有项目代码的信息。

现在我们就开始进行交互操作了。

也就是说明一些在 正常开发流程中 常用的一些git命令。

基本上开发的时候常用的就几个命令

查看有哪些分支

git branch

创建分支

git branch 分支名

切换分支

git checkout 分支名

在当前分支代码的基础上新建分支

git checkout -b 分支名

删除分支

git branch -d 分支名

同步(更新下载)服务器代码

git pull origin 分支名 更新分支的所有变动

或者直接在当前分支

git pull

查看有哪些变动的文件

git status

提交三部曲

git add .
git commit -m "注释"   
git push origin master

git add .是提交所有,只提交某个文件 例如 git add readme.txt

提交如果失败报不是最新版本则需要先git pull更新版本,可能会有冲突,手动解决后再提交

查看修改内容

git diff readme.txt    

查看提交日志

git log

还原文件的修改-与远程库同步

git checkout --readme.txt

回退上个版本(HEAD指向master的指针,^个数表示上几个版本)

git reset --hard HEAD^ 

回退n个版本

git reset --hard HEAD~100

回退到commit为3628164版本

git reset --hard 3628164  

合并某分支到当前分支

git merge 分支名(Fast forward模式,这种模式下删除分支后,会丢失分支信息)
-no-ff参数,表示禁用“Fast forward” 会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
git merge --no-ff -m "注释" dev

忽略文件

vim .gitignore

.gitignore文件是告诉Git哪些目录或者文件需要忽略, 这些文件将不被提交;
常用场景 : 写完代码后会执行变异调试等操作, 使用 .gitignore 文件将这些编译后的文件屏蔽, 这些文件不需要Git工具进行管理;
Android中的.gitignore : 在Android中 bin 和 gen 两个目录可以忽略;
.gitignore位置 : 项目根目录下;

过滤模式 : Git中的 .gitignore 中有两种模式,开放模式 和保守模式,保守模式的优先级要高于开放模式;

开放模式 : 设置哪些文件和目录被过滤, 凡是在文件中列出的文件或者目录都要被过滤掉;
-- 过滤目录 : /bin/ 就是将bin目录过滤, 该文件下的所有目录和文件都不被提交;
-- 过滤某个类型文件 : *.zip *.class 就是过滤zip 和 class 后缀的文件, 这些文件不被提交;
-- 过滤指定文件 : /gen/R.Java, 过滤该文件, 该文件不被提交;

保守模式 : 设置哪些文件不被过滤, 凡是列在其中的文件都要完整的提交上去;
-- 跟踪目录 : !/src , 该目录下的所有文件都要被提交;
-- 跟踪某类文件 : !*.Java , 凡是java文件都要保留;
-- 跟踪指定文件 : !/AndroidManifest.xml , 该文件需要保留, 提交上去;

配置原则 : 一般情况下采用开放模式和保守模式共同使用;
eg : 一个目录下有很多目录和文件, 当我们只需要保留其中的一个文件的时候, 先用开放模式不保留这些文件, 然后用保守模式将这个文件留下来, 保守模式的优先级要高于开放模式;

给版本打标签

版本标签是为了方便我们查找版本

git tag v2.0
git show v2.0
git tag -a v2.1 -m 'first version'
git show v2.1
为之前的提交添加标签 : 先使用 git log --oneline 命令列出之前的提交, 会有一个七位的十六进制数进行标记, 使用
git tag -a v3.1 f1bb97a

删除XX文件

git rm XX
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐