git push
第二步:提交文件
$ git commit –m “commit info” 提交本次事务,即将add的文件提交到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学习笔记。 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
文件名
- git删除文件
rm 文件名 删除本地的文件
git rm 文件名
删除版本库中的文件
git commit -m ‘备注’
提交到工作区
8.切换分支
创建本地仓库的dev分支
$ git checkout -b dev
标签
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>
可以删除一个远程标签
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 //查看状态
(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
总结:在不熟悉的情况下按照上面的命令一步一步去执行比较稳,注意细节的实现
使用git的基本操作
项目开发实战-**app
1. 需要安装的软件:msysgit
2. 需要申请的账号:
2.1 公司GitLab账号:向公司GitLab管理人员申请 – ***
2.2 项目GitLab权限:向本项目的创建/管理人员申请 – 比如**app管理者 ***
3. 进入到GitBash命令行操作:
基础命令
添加文件到Git仓库
- 第一步,使用命令
git add <文件名>
,注意,可反复多次使用,添加多个文件; - 第二步,使用命令
git commit -m "注释:提交内容"
,完成
如果想要单独提交一个文件可以使用git add <文件名>
,如果想要一次提交所有的修改文件,可以使用命令git add -A
git pull
拉去远程文件git push
提交文件到远程git status
是哪些文件有所修改git diff
可以查询所修改的代码git add -A
增加自己所做的修改
6.推送
将远程仓库的dev分支代码复制到本地dev分支
$ git pull origin dev
(由于公司服务器比较慢,所以你懂得... ...)
以上操作如下图所示:
创建与合并分支
git branch
查看分支
git branch <name>
创建分支
git checkout <name>
切换分支
git checkout -b <name>
创建+切换分支
git merge <name>
合并某分支到当前分支
git branch -d <name>
删除分支
git status
查看冲突情况
git log
其他命令
1. git remote –v 显示远程分支的名称和url
4.添加
关闭证书验证:原因是因为本公司服务器证书已经过期,所以直接关闭证书验证即可
$ git config --global http.sslVerify false
2.拉取
查看本地git仓库状态
$ git status
On branch dev -只有一个本地dev分支(但是内容已经是远程仓库dev的内容了)
nothing to commit, working directory clean -此时没有任何修改,工作区很干净
git log --prety=oneline
git reset --hard head~n
head~ 上一个版本
head~~上两个版本
head~n 上n版本
git reset --hard 版本号
切换到本地dev分支,并将远程仓库的dev分支的最新代码拉下来
$ git checkout dev
$ git pull origin dev
(此时,本地仓库的dev分支已经确保是最新的了)
10.强制提交
git进阶
git status
将数据提交到git仓库(本地仓库)
12.版本回退
创建版本库(仓库)
版本库又叫仓库(repository),这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除都能被跟踪。
在合适的位置直接鼠标右键创建一个空目录作为仓库,然后从Git-Bash命令行进入到该目录,或者也可以使用命令行创建空目录,再进入到该空目录中。
以下给出创建并初始化git仓库的代码:
进入到仓库的位置,我将仓库放在了C:Androidgit-repositories目录下,注意,使用cd命令进入到目录中时,在Git-Bash中应该使用斜线”/”,
而不是反斜线””
$ cd C:/Android/git-repositories
$ mkdir new_repository_1 创建新的目录
$ cd new_repository_1 进入到创建的目录
git config --global user.name '***'
git config --global user.email '***@***.com'
查看分支状态
$ git branch –a
上面显示的是本地分支,绿色字体和”*”表示的是当前所在的分支,
下面红色部分显示的是远程仓库的分支。
5.提交
初始化设置
云顶娱乐平台,7.查询分支
忽略文件
有一些文件并不能上传到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
下面是比较清晰的目录结构:
8.查看配置信息
解决冲突完毕后,切换到本地dev分支,将合并完毕的自己的分支合并到本地dev
$ git checkout dev
$ git merge dai
以上操作的代码如下:
接下来的操作,就是将本地dev分支推到远程仓库的dev分支上了... ...
9.修改email和name
工作区和暂存区
Git和其他版本控制系统的一个不同之处就是有暂存区的概念。
- 工作区
就是电脑里能看到的目录,比如上面创建的C:Androidgit-repositoriesnew_repository_1文件夹就是一个工作区。
- 版本库
工作区中有一个隐藏目录.git,就是Git的版本库,版本库里存放了很多的东西,其中最重要的就是state(或者叫index)的暂存区,
还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
前面讲到,将文件存入到Git版本库里,分两步执行:
第一步:用git add命令将工作区的修改文件添加到暂存区; (多次操作)
第二步:用git
commit命令将暂存区的所有修改内容提交到当前分支。(事务提交,包含第一步多次操作,注意,不在暂存区的修改不会被commit)
一旦事务提交之后,如果对工作区没有做什么修改,那么工作区就是干净的。
因为创建Git版本库的时候,Git自动创建了一个master分支,所以现在git commit
就是往master分支上提交事务。
Eg:
git branch
基本命令
13.查看版本
查看仓库的分支情况
$ git branch –a
显示如下:
* master
remotes/origin/HEAD -> origin/master HEAD-远程仓库的当前分支是主分支
remotes/origin/dev dev分支(所有操作都会合并到该分支)
remotes/origin/master master分支-主分支
git commit -m '备注内容'
GIT GUI简单使用#
注意:个人建议使用命令行方式进行版本管理,但是可以使用图形化界面看本次代码的改动,比较方便。
1. 在所在项目,右键选择git gui
- 界面如下,如果会使用命令行,那么一看就明白了
- 配置
UTF-8:Edit-Options:
如果之前设置好了,直接在项目中右键进入,那么这些都不用设置:
- Add commit push很快完成,不用输i入命令
- 查看代码对比
如果想要查看所有的改动历史,可以:
就可以看到所有的代码改动历史,而不用去网上看。注意,这里能看到所有人的改动哦!!!非常强大!
- 设置和远程仓库关联(如果从项目根目录进入,则自动关联,不用设置)
如果需要设置,选择remote-Add,参考如下:
- 新建项目,从远程仓库克隆
右键选择git gui:
选择克隆已有版本库:
git clone https://XXXXXXXXXXXXXXXXXXXXX
进入到项目,即从命令行进入已经下载下来的git仓库,saletool/表示本项目的目录名
$ cd salestool/
版本回退原理
简单讲,就是说只要进行了代码提交,git内部都会按照时间节点进行记录,每条记录都有commit
id作为唯一标识(就像是链表每个节点都有唯一的地址一样),HEAD总是指向当前版本(就像指针一样)。所谓的版本回退,仅仅是讲Head从当前版本指向了指定的版本,然后将工作区的文件也修改了。
git push origin master -f
创建自己的本地分支,并切换到该分支,自己在此分支上写代码
$ git checkout -b dai
git --version
学习网址
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 config -l
打印历史记录
$ git log
Commit xxx commit id 版本号
Author:xxx<xxx@xxx.com> 提交人和邮箱
Date:xxx 提交的时间
XXXXXXXXXXXXXX 提交的信息(所以说,提交信息很重要!!!)
$ cat <文件全名称> 显示整个文件的内容
git pull
查询该文件和git仓库中的文件的区别,即做了什么修改
$ git diff <文件全称> 如果已经add了,就打印不出有什么修改了,这一步骤应该在add之前,即添加之前可以用来看看做了什么修改。
git add .
切换到自己的分支,将dev分支合并到自己的分支上
$ git checkout dai
$ git merge dev 将本地dev分支合并到自己的分支上
注意:此时已经将dev分支合并到本地的自己的分支上了,有时候可能需要解决代码冲突问题,解决完毕后进行下面的操作。
如果有冲突,则需要再次进行add,commit操作。
git checkout
配置本机的用户名和Email地址
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
3.查询状态
推送到远程服务器
$ git push origin dev
1.Git的克隆
简介
说明:下列文本性内容部分来自廖雪峰的网站,一部分来自公司实战,一部分来自官方网站
版权声明:本文为原创文章,未经允许不得转载
博客地址:
11.查看提交记录
在合适的位置点击右键,选择GitBash Here
本机地址为:C:Androidgit-repositories,自己创建的git仓库地址
将所有修改文件提交到本地暂存区(staged),等待提交
$ git add . 注意:确保此时在自己的分支上进行操作,eg:dai(我自己的名字)
$ git commit –m “” 将本地暂存区的代码提交到自己的分支上
第一步:添加文件
$ git add . 添加所有的文件、文件夹
$ git add <file> 添加指定名称的文件,<>内部写文件全称
注:如果文件没有做出任何修改,则默认不会添加任何文件
版权声明:本文为博主原创文章,未经博主允许不得转载。
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,使用效果是一样的。
此时开始在Android studio中对该项目进行编程~~~
使用克隆命令将远程仓库的代码复制一份到本地,注意此处应该用https访问
$ git clone https://***.***.***.***/android/salestool.git
(输入用户名和密码之后,将开始下载远程仓库,这里仅仅下的是主分支-master)
- Git总结
- 简介
- 学习网址
- 基本命令
- 初始化设置
- 配置本机的用户名和Email地址
- 创建版本库仓库
- 使用init命令将当前目录初始化为Git仓库
- 将数据提交到git仓库本地仓库
- 第一步添加文件
- 第二步提交文件
- 查询提交状态
- 查询该文件和git仓库中的文件的区别即做了什么修改
- 打印历史记录
- 版本回退
- 版本回退原理
- 工作区和暂存区
- 项目开发实战-app
- 在合适的位置点击右键选择GitBash
Here - 关闭证书验证原因是因为本公司服务器证书已经过期所以直接关闭证书验证即可
- 使用克隆命令将远程仓库的代码复制一份到本地注意此处应该用https访问
- 进入到项目即从命令行进入已经下载下来的git仓库saletool表示本项目的目录名
- 查看仓库的分支情况
- 创建本地仓库的dev分支
- 将远程仓库的dev分支代码复制到本地dev分支
- 查看本地git仓库状态
- 查看分支状态
- 创建自己的本地分支并切换到该分支自己在此分支上写代码
- 此时开始在Android
studio中对该项目进行编程 - 将所有修改文件提交到本地暂存区staged等待提交
- 切换到本地dev分支并将远程仓库的dev分支的最新代码拉下来
- 切换到自己的分支将dev分支合并到自己的分支上
- 解决冲突完毕后切换到本地dev分支将合并完毕的自己的分支合并到本地dev
- 推送到远程服务器
- git进阶
- 其他命令
- 忽略文件
- GIT
GUI简单使用 - linux命令
- 在合适的位置点击右键选择GitBash
查询提交状态
$ git status 显示提交的状态:已经添加,等待提交事务的文件(绿色字体表示);已经改变但是没有添加(not staged)的文件(红色字体表示);
使用init命令将当前目录初始化为Git仓库
$ git init
Initialized empty Git repository in C:/Android/git-repositories/new_repository_1/.git/
(显示信息意思为:初始化了一个空的Git仓库,new_repository_1目录下多了一个.git目录,时用来管理版本库的)
目录(?)[-]
Git总结
版本回退
$ 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