git命令

思维导图如下:

git命令_第1张图片
本地 .png

项目第一次上传github时,上面的步骤按顺序一步也不能少,如果是以后更新的话,第一步和第四步就不用执行了,只按顺序执行剩下的步骤。

额外补充的代码如下:

liang@Lenovo-PC MINGW64 /d
$ git config --global  user.name查看当前用户的名字,如果是第一次bash,可以在代码后面加上用户的名字,表示是谁提交的
liangandfu

liang@Lenovo-PC MINGW64 /d
$ git config --global user.email查看当前用户的邮箱,如果是第一次bash,可以在代码后面加上用户的邮箱,表示是哪个邮箱提交的
[email protected]

liang@Lenovo-PC MINGW64 /d
$ git add .表示添加当前目录下的所有文件

liang@Lenovo-PC MINGW64 /d/shiyan (master)
$ git status查看是否有文件发生了改变,如果有改变就返回改变的文件的名字,没有改变则返回如下提示
On branch master
nothing to commit, working tree clean

liang@Lenovo-PC MINGW64 /d/shiyan (master)
$ git diff查看发生变化的文件具体变化了哪些内容
diff --git a/shiyan/shiyan1.txt b/shiyan/shiyan1.txt
index 38df211..cb5bc5e 100644
--- a/shiyan/shiyan1.txt
+++ b/shiyan/shiyan1.txt
@@ -1 +1 @@
-
\ No newline at end of file
+wo shi shanxi de
\ No newline at end of file

$ git diff shiyan/shiyan2.txt在git diff后面加上路径就是只查看该文件发生的变化
diff --git a/shiyan/shiyan2.txt b/shiyan/shiyan2.txt
index e69de29..c63aba1 100644
--- a/shiyan/shiyan2.txt
+++ b/shiyan/shiyan2.txt
@@ -0,0 +1 @@
+wo shi henan de
\ No newline at end of file

liang@Lenovo-PC MINGW64 /d/shiyan (master)
$ git checkout shiyan/shiyan2.txt撤销shiyan2.txt文件发生的变化,前提是没有执行git add

liang@Lenovo-PC MINGW64 /d/shiyan (master)
$ git reset shiyan/shiyan1.txt在执行了git add之后,就需要用到git reset才能撤销了,在执行了该命令后,再次执行git checkout,发现内容成功的被撤销了
Unstaged changes after reset:
M       shiyan/shiyan1.txt

$ git log查看提交记录
commit d82b9e04d0b9255655fc41b8957dc40f40b9155c
Author: liangandfu <[email protected]>
Date:   Tue Nov 14 10:28:11 2017 +0800

    q

commit f63f2f4e526e0ab2c7440717b8c93a439fd97f51
Author: liangandfu <[email protected]>
Date:   Tue Nov 14 10:14:38 2017 +0800

    o

$ git log f63f2f4e526e0ab2c7440717b8c93a439fd97f51 -1在这里-1参数表示我们只想看到一行记录
commit f63f2f4e526e0ab2c7440717b8c93a439fd97f51
Author: liangandfu <[email protected]>
Date:   Tue Nov 14 10:14:38 2017 +0800

    o

liang@Lenovo-PC MINGW64 /d/shiyan (master)
$ git log f63f2f4e526e0ab2c7440717b8c93a439fd97f51 -1 -p在这里-p参数表示查看这条提交记录具体修改了什么内容
commit f63f2f4e526e0ab2c7440717b8c93a439fd97f51
Author: liangandfu <[email protected]>
Date:   Tue Nov 14 10:14:38 2017 +0800

    o

diff --git a/shiyan/.gitignore b/shiyan/.gitignore
new file mode 100644
index 0000000..4bf22bc
--- /dev/null
+++ b/shiyan/.gitignore
@@ -0,0 +1 @@
+shiyan.txt
\ No newline at end of file
diff --git a/shiyan/shiyan1.txt b/shiyan/shiyan1.txt
new file mode 100644
index 0000000..e69de29
diff --git a/shiyan/shiyan2.txt b/shiyan/shiyan2.txt
new file mode 100644
index 0000000..e69de29
diff --git a/shiyan/shiyan3.txt b/shiyan/shiyan3.txt
new file mode 100644
index 0000000..e69de29


额外补充的知识如下:

新建一个名为.gitignore的文本文件,然后在这个文件中写入要忽略上传的文件,那么那个文件就不会被上传,android的项目下有两个.gitignore文本文件,一个在根目录下,一个在app文件夹下

特别注意:每次修改了文件之后,要上传的话,必须要git push之后才能成功上传,不只是git add,git commit就可以了

示例代码如下:

liang@Lenovo-PC MINGW64 /d/shiyan (master)
$ git add shiyan/shiyan1.txt

liang@Lenovo-PC MINGW64 /d/shiyan (master)
$ git commit -m "xiugaishiyan1"
[master 67c97b2] xiugaishiyan1
 1 file changed, 1 insertion(+), 1 deletion(-)

liang@Lenovo-PC MINGW64 /d/shiyan (master)
$ git remote该指令是查看远程用户,不需要重新创建远程用户了
p
u

liang@Lenovo-PC MINGW64 /d/shiyan (master)
$ git push p master
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 314 bytes | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/liang1075963999/shiyan.git
   7b9cc9a..67c97b2  master -> master

liang@Lenovo-PC MINGW64 /d/shiyan (master)
$

记得先在github上新建一个repository,然后就可以进行上传了,可以将别人的项目下载下来,然后删除其中的.git文件夹,就可以将其中的库上传到自己的github了,然后给上传后的库添加releases,然后到https://jitpack.io/,就可以给自己的项目添加新的库的依赖了。另外在github上看到别人的项目中的库没有releases,那么就无法在https://jitpack.io/上生成依赖了,需要自己把库下载下来,添加releases(提示也可以不加releases,也可以生成依赖,不过依赖的名字有点丑),然后就可以在https://jitpack.io/上生成依赖了(提示,有时候即使生成依赖也不能用,因此在生成依赖前,先看看目标库中的build.gradle文件中的内容是否和以下内容的格式一致,如果一致那么生成的依赖就可以用,如果不一致,那么请将库中的build.gradle中的内容改为如下所示的格式,这样生成的依赖就可以用了。还有一点就是如果github上的一个项目(这个项目中即使包含app moudle也可以直接在https://jitpack.io/上进行依赖的生成,因为在build.gradle文件的第一句代码就区分了这个module是程序还是库了)在https://jitpack.io/上无法生成的依赖,那么即使你下载下来,再上传到你自己的github,也是无法生成依赖的,这时需要单独将项目中的库单独上传,就可以生成依赖了)

生成的依赖可以用的库的build.gradle文件一般都是

apply plugin: 'com.android.library'

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.1"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:24.1.0'
}

Github项目的上传:

git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/liang1075963999/ce.git
git push -u origin master
(另外的查看命令:git remote查看远程用户列表)
Github的分支的创建和切换:
git branch(查看有多少个分支)
git branch 分支名(新建一个分支,记得先commit,然后才能创建分支了)
git checkout 分支名(切换到另外一个分支,记得先commit,然后再切换分支)

遇到的git问题:

1:如果出现fatal: Unable to create 'F:/baobei_all_project/duanzikezhan/.git/index.lock': File exists.

解决方式:只需要将.git文件夹下的index.lock文件删除即可。

下面这个网址写的挺好

https://www.jianshu.com/p/6c32ee2688b0

你可能感兴趣的:(git命令)