应用git的基本操作

版权表明:本文为博主原创小说,未经博主允许不得转发。

基础命令

加上文书到Git仓库

  • 率先步,使用命令git add <文件名>,注意,可反复多次运用,添加几个文件;
  • 其次步,使用命令git commit -m "注释:提交内容",完成

假定想要单独提交一个文件可以使用git add <文件名>,若是想要三次提交所有的修改文件,能够拔取命令git add -A

  • git pull拉去远程文件
  • git push交由文件到长途
  • git status是如何文件有所修改
  • git diff 可以查询所修改的代码
  • git add -A 扩大和谐所做的修改

A.git在品种中根据上边的步子使用

git学习笔记:

1.Git拉取系列操作步骤的贯彻
  (1):克隆服务器上面的类型
    git clone
ssh://git@1.1.1:3003/ets/Ets.NewWap
  (2):切换来路径下下载后项目下的总文件夹
    cd
Ets.NewWap(下载的代码的文本夹)
  (3):查看情状并且查看上面含有多少子分支(master)
    git status
    git branch -r
  (4):拉取子分支的兼具情节还要付诸
    a git checkout developer_Wap30
子分支
    git pull origin developer_Wap30
提交
    b git checkout
developer_Wap23
    git pull origin
developer_Wap23
  (5):查看情形
    git status
2.git 常用操作符
  (1):git checkout .
//取消所有文件的改动
  (2): git checkout ‘文件名’
//撤除某一个文本的修改

3.编码经过中利用git的步子
  (1):首先切换来须要修改的道岔下面
    git branch -r
//查询子分支
    git checkout
developer_Wap30(分支名称) //切换分支
    git status
  (2):在必要修改的支行下面重新出创立并切换来子分支
    git checkout -b
feaure-xx-rq(成立的分层名称)
    git status //查看状态
Git的一对主干选择方式,Git学习笔记。  (3):进行编制代码,实时查看git状态(git
status)(*)
    //编写达成代码
    git status
    ————————————-当代码编写成功后,最后提交代码———————————————–

  (4):
首先检测修改后代码的情事
    git status 
  (5):倘若有新加上的文件,则率先添加文(加文)件 
    git add -A/-All
添加所有修改的文本
    git add 文件名称
添加某一个纯净的文件
    git status 
  (6):提交本地分支,提交到温馨创立的道岔上面
    git commit -am
‘注释(可以写粤语)’
    git status 
  (7):切换来x须要统一的主(子)分支(合并自己创造的支行)上面
    git checkout developer_Wap30
//主子分支
    git status
  (8):把温馨创办的支行合并到须求统一的主(子)分支下
    git merge –no-ff
feature-xx-rq
    git status
  (9):获取服务器上流行的代码
    git pull origin developer_Wap30
//获取必要联合的主(子)分支
    git status 
  (10):就算带有争论,则解决争执,如若没有争执,则直接交给当前代码到主(子)分支
    git push origin
developer_Wap30
    git status
  (11):查看主(子)分支下的子分支并且删除掉没有运用的道岔且检查
    git branch
    git branch -d feature-xx-rq
//删除自己创办的分段
    git status

总括:在不熟知的情况下遵从地点的命令一步一步去实施相比稳,注意细节的落到实处

1.Git的克隆

目录(?)[-]

本子回退

git log 查看提交历史

当地分支版本回退git reset --hard commitID,
commitID就是我们要回到的要命历史提交

git revert HEAD 废除前五回 commit

git revert HEAD^ 撤消前前两次 commit

远程分支版本回退:

  • 1、首先要回退本地分支

git log
git reset --hard commitID
  • 2、强制推送到长途分支

git push -f

B.git学习笔记:基本命令学习

1.检测电脑是不是安装git :git
2.git安装用户名和信箱
  git config –global user.name
“kencery”
  git config –global user.email
“hyl934532778@live.cn”
3.制造版本库:(选用要求创制版本库的公文夹下边右键git
branch)
  mkdir kencery
  cd kencery
  pwd 命令用于显示当前目录
  git init
将引得变成git管理的库房
3.git 添加
  git add readme.txt
  git commit -m ‘添加备注’
4.版本库状态查询 git status
5.修改之后查看和上一个本子修改的不比(查看修改内容)
  git diff readme.txt
//diff相当于difference
6.读取文档中的内容
  cat readme.txt

7.提交修改的内容
  git add readme.txt
  git commit -m “添加备注”
8.git修改历史记录查询
  git log
查询文件修改的历史记录(提交音信)
澳门金沙国际 ,   git log –pretty=oneline
查询文件修改的历史记录(每回的提交突显在一行上面)
9.git版本回退

  在git中,用head表示近期版本,也就是前卫提交的版本,上一个本子就是head^,上上一个本子就是head^^,当然网上100个版本的学100个^相比便于写不东山再起,所以携程head~100。
  git reset –hard head^
回退到上一个版本
  git reset –hard 版本号
会退到某一个版本号下边的代码
  git reflog
用来记录您的每五次命令(提交给git的音讯)

10.工作区和暂存区以及管理修改

  git往版本库中拉长的时候,是分两步执行的:
    第一步:git
add把公文添加进去,实际上就是把文件修改添加到暂存区
    第二部:git
commit提交更改,实际上是吧暂存区中的所有内容提交到近来分之。
11.git收回修改
  git checkout –文件名
收回工作区的修改,那里存在二种情形

    (1):文件自修改后还没有被内置暂存区,现在,撤消修改和回到版本库一模一样的状态
      git checkout –文件名

    (2):文件已经添加到暂存区,又做了修改,现在,裁撤修改就重返添加暂存区后的气象。
      git reset head
文件名

  1. git删除文件
      rm 文件名 删除本地的公文
      git rm 文件名
    删除版本库中的文件
      git commit -m ‘备注’
    提交到工作区
git clone https://XXXXXXXXXXXXXXXXXXXXX
  1. Git总结
    1. 简介
  2. 学学网址
  3. 焦点命令
  4. 开始化设置
    1. 布置本机的用户名和Email地址
    2. 创办版本库仓库
    3. 动用init命令将当前目录起头化为Git仓库
    4. 将数据交到到git仓库本地仓库
      1. 第一步添加文件
      2. 其次步提交文件
    5. 询问提交状态
    6. 查询该公文和git仓库中的文件的界别即做了怎么着修改
    7. 打印历史记录
    8. 本子回退
  5. 本子回退原理
  6. 工作区和暂存区
  7. 花色支出实战-app
    1. 在适度的职务点击右键接纳GitBash
      Here
    2. 关闭证书验证原因是因为本公司服务器证书已经晚点所以一向关门证书验证即可
    3. 动用克隆命令将远程仓库的代码复制一份到本地注意此处应该用https访问
    4. 跻身到项目即从命令行进入曾经下载下来的git仓库saletool表示本项目标目录名
    5. 查阅仓库的道岔情状
    6. 创制本地仓库的dev分支
    7. 将远程仓库的dev分支代码复制到本地dev分支
    8. 翻开本地git仓库状态
    9. 查阅分支状态
    10. 创办和谐的本地分支并切换来该支行自己在此分支上写代码
    11. 此刻早先在Android
      studio中对该类型进展编程
    12. 将所有修改文件提交到当地暂存区staged等待提交
    13. 切换来地面dev分支并将长途仓库的dev分支的最新代码拉下来
    14. 切换来自己的支行将dev分支合并到自己的分段上
    15. 杀鸡取卵冲突完结后切换来当地dev分支将统一落成的和谐的道岔合并到地点dev
    16. 推送到长途服务器
    17. git进阶
    18. 其余命令
    19. 大意文件
    20. GIT
      GUI简单使用
    21. linux命令

创设与统一分支

git branch 查看分支
git branch <name> 成立分支
git checkout <name> 切换分支
git checkout -b <name> 创造+切换分支
git merge <name> 合并某分支到眼前支行
git branch -d <name> 删除分支

git status 查看争持情形

2.拉取

Git总结

标签

git tag <name> 用于新建一个标签,默认为HEAD
commit id打标签git tag <name> commitId
git tag -a <tagname> -m "blablabla..."可以指定标签音讯
git tag可以查阅所有标签。
git push origin <tagname>推送一个本地标签到长途
git push origin --tags 可以推送全体未推送过的本土标签
git tag -d <tagname> 可以去除一个地面标签
git push origin :refs/tags/<tagname>可以去除一个远道标签

git pull

简介

申明:下列文本性内容部分来源廖雪峰的网站,一部分来源商家实战,一部分来源于官方网站 
版权注解:本文为原创文章,未经同意不得转发 
博客地址:

3.询问状态

上学网址

1. http://www.liaoxuefeng.com/   Git的完整学习教程
2. https://git-for-windows.github.io/   windows上安装msysgit,内部包含模拟环境和Git
3.如果英文不好,可以使用中文版,然后直接使用图形化界面Git Gui,而不使用Git bash

其他学习网址:
https://blog.cnbluebox.com/blog/2014/04/15/gitlabde-shi-yong/
http://www.oschina.net/translate/10-tips-git-next-level
git status

基本命令

4.添加

起始化设置

git add .

安排本机的用户名和Email地址

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

5.提交

成立版本库(仓库)

版本库又叫仓库(repository),这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除都能被跟踪。
在合适的位置直接鼠标右键创建一个空目录作为仓库,然后从Git-Bash命令行进入到该目录,或者也可以使用命令行创建空目录,再进入到该空目录中。  
以下给出创建并初始化git仓库的代码:  
进入到仓库的位置,我将仓库放在了C:\Android\git-repositories目录下,注意,使用cd命令进入到目录中时,在Git-Bash中应该使用斜线”/”,  
而不是反斜线”\”  

$ cd C:/Android/git-repositories
$ mkdir new_repository_1           创建新的目录
$ cd new_repository_1              进入到创建的目录
git commit -m '备注内容'

动用init命令将当前目录开首化为Git仓库

$ git init
Initialized empty Git repository in C:/Android/git-repositories/new_repository_1/.git/
(显示信息意思为:初始化了一个空的Git仓库,new_repository_1目录下多了一个.git目录,时用来管理版本库的)

6.推送

将数据提交到git仓库(本地仓库)

git push

率先步:添加文件

$ git add .        添加所有的文件、文件夹
$ git add <file>   添加指定名称的文件,<>内部写文件全称
注:如果文件没有做出任何修改,则默认不会添加任何文件

7.询问分支

第二步:提交文件

$ git commit –m “commit info”      提交本次事务,即将add的文件提交到git仓库,引号内部表示本次提交的提示信息
git branch

查询提交状态

$ git status       显示提交的状态:已经添加,等待提交事务的文件(绿色字体表示);已经改变但是没有添加(not staged)的文件(红色字体表示);

8.切换分支

询问该公文和git仓库中的文件的分别,即做了何等修改

$ git diff <文件全称>      如果已经add了,就打印不出有什么修改了,这一步骤应该在add之前,即添加之前可以用来看看做了什么修改。
git checkout 

打印历史记录

$ git log
Commit xxx              commit id 版本号
Author:xxx<xxx@xxx.com> 提交人和邮箱
Date:xxx                提交的时间
    XXXXXXXXXXXXXX      提交的信息(所以说,提交信息很重要!!!)
$ cat <文件全名称>      显示整个文件的内容

8.翻看配置信息

本子回退

$ git reset --hard head^
在Git中,HEAD表示当前版本,就是最新提交的版本,即使用git log打印出来的位于第一位的版本,上一个版本就是HEAD^,上上个版本就是HEAD^^,  
当前向上100个可以写成HEAD~100。当然,还有一种方式就是直接使用commit id来代替HEAD^,比如版本号是cadab353589f3eef075817b890dafe8b722d802b,  
那么就可以直接使用命令:  
$ git reset --hard cadab353589f            使用前几位表示即可,git会自动查找  
注:版本回退以后,使用git log打印的历史记录都是回退版本之前的数据,之后的都没有了,不过放心,git总有后悔药可以吃哒~  
1.如果命令行窗口没有关闭,直接去前面找commit id即可;  
2.如果命令行窗口关闭了,或者第二天后悔了,可以进入到该目录下,使用git reflog命令来查看以前的每一次命令,可以获得每次提交的commit id,  
就可以版本回退了。  
$ git reflog                           可以查看命令历史,包含提交的commit id  
git config -l 

本子回退原理

澳门金沙国际 1 
不难易行讲,就是说若是举办了代码提交,git内部都会遵从时间节点开展记录,每条记下都有commit
id作为唯一标识(就像链表每个节点都有唯一的地址一样),HEAD总是指向当前版本(就好像指针一样)。所谓的版本回退,仅仅是讲Head从当下版本指向了点名的版本,然后将工作区的文件也修改了。

9.修改email和name

工作区和暂存区

Git和其他版本控制系统的一个不同之处就是有暂存区的概念。
- 工作区
就是电脑里能看到的目录,比如上面创建的C:\Android\git-repositories\new_repository_1文件夹就是一个工作区。
- 版本库
工作区中有一个隐藏目录.git,就是Git的版本库,版本库里存放了很多的东西,其中最重要的就是state(或者叫index)的暂存区,  
还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

澳门金沙国际 2

前面讲到,将文件存入到Git版本库里,分两步执行:
第一步:用git add命令将工作区的修改文件添加到暂存区;  (多次操作)

澳门金沙国际 3 
第二步:用git
commit命令将暂存区的兼具修改内容交给到当下支行。(事务提交,包括第一步多次操作,注意,不在暂存区的改动不会被commit) 
澳门金沙国际 4 
比方事情提交以后,若是对工作区没有做什么修改,那么工作区就是彻底的。 
因为创制Git版本库的时候,Git自动成立了一个master分支,所以现在git commit
就是往master分支上交给业务。 
Eg: 
澳门金沙国际 5

git config --global user.name '***'
git config --global user.email '***@***.com'

系列支出实战-**app

1.  需要安装的软件:msysgit
2.  需要申请的账号:
2.1 公司GitLab账号:向公司GitLab管理人员申请 – ***
2.2 项目GitLab权限:向本项目的创建/管理人员申请 – 比如**app管理者 ***
3.  进入到GitBash命令行操作:

10.强制交付

在适度的职位点击右键,选取GitBash Here

本机地址为:C:\Android\git-repositories,自己创建的git仓库地址
git push origin master -f 

关闭证书验证:原因是因为本公司服务器证书已经过期,所以直接关门证书验证即可

$ git config --global http.sslVerify false     

11.翻看提交记录

行使克隆命令将长途仓库的代码复制一份到地面,注意此处应该用https访问

$ git clone https://***.***.***.***/android/salestool.git
(输入用户名和密码之后,将开始下载远程仓库,这里仅仅下的是主分支-master)    
git log

跻身到花色,即从命令行进入曾经下载下来的git仓库,saletool/表示本项目的目录名

$ cd salestool/

12.版本回退

查看仓库的道岔意况

$ git branch –a
显示如下:
* master
  remotes/origin/HEAD -> origin/master      HEAD-远程仓库的当前分支是主分支
  remotes/origin/dev                        dev分支(所有操作都会合并到该分支)
  remotes/origin/master                 master分支-主分支
git log --prety=oneline 
git reset --hard head~n
head~ 上一个版本
head~~上两个版本
head~n 上n版本
git reset --hard 版本号

创立本地仓库的dev分支

$ git checkout -b dev

13.翻看版本

将远程仓库的dev分支代码复制到本地dev分支

$ git pull origin dev
(由于公司服务器比较慢,所以你懂得... ...)

以上操作如下图所示:

澳门金沙国际 6

git --version

查阅本地git仓库状态

$ git status
On branch dev       -只有一个本地dev分支(但是内容已经是远程仓库dev的内容了)
nothing to commit, working directory clean      -此时没有任何修改,工作区很干净

 

翻开分支状态

$ git branch –a
上面显示的是本地分支,绿色字体和”*”表示的是当前所在的分支,
下面红色部分显示的是远程仓库的分支。

澳门金沙国际 7

创立和谐的当地分支,并切换来该支行,自己在此分支上写代码

$ git checkout -b dai

那会儿始发在Android studio中对该品种举办编程~~~

将具备修改文件提交到地方暂存区(staged),等待提交

$ git add .        注意:确保此时在自己的分支上进行操作,eg:dai(我自己的名字)
$ git commit –m “”     将本地暂存区的代码提交到自己的分支上

切换来本地dev分支,并将长途仓库的dev分支的风行代码拉下来

$ git checkout dev
$ git pull origin dev
(此时,本地仓库的dev分支已经确保是最新的了)

切换到祥和的分段,将dev分支合并到自己的分层上

$ git checkout dai
$ git merge dev        将本地dev分支合并到自己的分支上
注意:此时已经将dev分支合并到本地的自己的分支上了,有时候可能需要解决代码冲突问题,解决完毕后进行下面的操作。

如果有冲突,则需要再次进行add,commit操作。

缓解顶牛落成后,切换来地点dev分支,将合并已毕的温馨的分段合并到地面dev

$ git checkout dev
$ git merge dai


以上操作的代码如下:

澳门金沙国际 8

接下来的操作,就是将本地dev分支推到远程仓库的dev分支上了... ...

推送到长途服务器

$ git push origin dev

git进阶

此外命令

1.  git remote –v   显示远程分支的名称和url

忽视文件

    有一些文件并不能上传到git上。
1.Android Studio自动生成配置文件:不能上传到git上,否则的话,如果你的同事下载下来,但是它的studio(gradle)版本和你的不一样,  
或者其他配置的各种路径不一样,就需要重建项目,严重的话,根本无法重建项目,一片爆红!网上的方法也解决不了。
2.保存了数据库密码或者什么不能上传的文件;
。。。
所以需要在项目的根目录下创建一个名称为.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。  
不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。

忽略文件的原则是:
1.忽略操作系统自动生成的文件,比如缩略图等;
2.忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,  
比如Java编译产生的.class文件;
3.忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

想知道忽略那些文件吗,很简单,找个大神的github,看看他的项目中怎么写的,就ok了!!!
例如,下面是我从张鸿祥哪里copy的,仅做参考:
/captures

# Built application files
*.apk
*.ap_

# Generated files
bin/
gen/

# Gradle files
.gradle/
/build
/*/build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Eclipse project files
.classpath
.project
.settings/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/

# System files
.DS_Store

下面是比较清晰的目录结构:

澳门金沙国际 9

GIT GUI简单使用#

注意:个人建议使用命令行方式进行版本管理,但是可以使用图形化界面看本次代码的改动,比较方便。   
1.  在所在项目,右键选择git gui   

澳门金沙国际 10 

  1. 界面如下,倘若会利用命令行,那么一看就精晓了 
    澳门金沙国际 11 
  2. 配置 
    UTF-8:Edit-Options: 
    澳门金沙国际 12 
    比方以前安装好了,直接在类型中右键进入,那么那个都毫不安装: 
    澳门金沙国际 13 
  3. Add commit push很快形成,不用输i入命令 
    澳门金沙国际 14 
  4. 查看代码相比较 
    澳门金沙国际 15 
    如果想要查看所有的改动历史,可以: 
    澳门金沙国际 16 
    就可以见见有着的代码改动历史,而不用去网上看。注意,那里能观望所有人的改变哦!!!相当强劲! 
    澳门金沙国际 17 
  5. 设置和长途仓库关联(假诺从体系根目录进入,则自动关联,不用安装) 
    一旦急需设置,选取remote-Add,参考如下: 
    澳门金沙国际 18 
  6. 新建项目,从远程仓Cook隆 
    右键选取git gui: 
    澳门金沙国际 19 
    接纳克隆已有版本库: 
    澳门金沙国际 20

linux命令

1. $ pwd       用于显示当前目录
2.$ ls –ah 用于显示当前目录下的所有子目录和文件(包含隐藏的)
3.$ clear  清屏
4.$ exit   退出linux模式

注意:通过cmd进入linux模式,命令是   adb s4.hell

注意事项
1.不要使用记事本打开编辑任何文本文件,可以使用Notepad++,默认编码格式设置为UTF-8 无BOM;
2.开发Android studio项目,GitBash命令行和as中的Terminal,使用效果是一样的。

相关文章