Git命令进阶(一)
2017-09-17 本文已影响28人
芒果味的你呀
$ git status
- 适用场景:查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理。
- 使用结果:告诉我们有哪些文件已经修改但是没有暂存、有哪些更新已经暂存起来还没有提交
$ git commit -a -m
- 适用场景:跳过使用暂存区域的方式进行提交
- 适用效果:这条命令相当于:git add .+git commit -m
$ git remote -v
- 适用场景:查看你当前项目远程连接的是哪个仓库地址
-
使用效果:比如我可以把同一个项目既提交到github上也可以提交到gitlab上
$ git diff
- 适用场景:想查看本地文件(未暂存)修改了哪里,比较的是工作目录中当前文件和暂存区快照之间的差异。可以看到具体修改的地方,它会使用文件补丁的方式,显示具体添加和删除的行。
-
使用效果:假如此时我在test.txt里修改了一些内容 此时 git diff 可以看到如下修改
- 补充说明:而若修改的文件已经暂存,此时可以通过git diff --cached 命令查看已暂存的文件和上次提交时的快照之间的差异。
git checkout -- test.txt
- 适用场景:未暂存的文件,即在本地目录,此时文件杂乱,想要恢复成上次提交的代码。即想要撤销本地对文件的修改。
- 使用效果:本地代码重置
$ git rm
- 适用场景:如果要从git中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),使用这个命令可以完成此项工作,
- 使用效果:从git中移除某个文件,并连带从工作目录中删除了指定的文件。
- 补充说明:如果不想删除本地文件,用$ git rm --cached readme.txt即可。
$ git log
- 适用场景:回顾提交历史
- 补充说明:git log -p -2 -p 展开每次提交的内容差异,-2显示最近两次的更新
$ git mv file_from file_to
- 适用场景:对文件改名 这条命令同时起到了将改名的前的文件删除,并将改名后的文件进行git add .操作。
假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更的合并到本地的项目中?
$ git fetch origin//取得远程更新,这里可以看做是准备要取了
$ git merge origin/master//把更新的内容合并到本地分支/master
分支操作
查看分支:git branch
创建分支:git branch [分支名]
切换分支:git checkout branch
创建并切换分支:git checkout -b branch
合并分支:git merge new //合并某分支到当前分支
删除分支:git branch-d
.gitignore文件
作用是把该文件中的文件隐藏,不提交(比如一些生成的没用的文件一类)
对android来说,文件内容如下:(复制过去就好~)
# Built application files
*.apk
*.ap_
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/dictionaries
.idea/libraries
# Keystore files
*.jks
# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
# Google Services (e.g. APIs or Firebase)
google-services.json
# Freeline
freeline.py
freeline/
freeline_project_description.json