Git常用命令

2018-09-04  本文已影响0人  波涛澎湃

[toc]
Git


常用命令:

列表显示所有配置

 git config --list

设置用户名

git config --global user.name "username"

设置邮箱

git config --global user.email "myeamil@xxx.com"

创建本地仓库:

方法1:在本地创建本地仓库
   新建本地仓库(创建工作区):git init    
方法2:把远程仓库clone到本地,会自动在本地创建本地仓库
    git clone url

关联远程仓库

//origin代表远程仓库在本地的标识
git remote add origin https:/xxx.xxx.git

将本地仓库代码推送到远程

    //推送到指定远程url的master分支上
push push origin master

查看分支

git branch

将远端的代码以及相关分支信息clone到本地

将远端的代码以及相关分支信息clone到本地

查看当前工作区中文件状态

git status

修改全局配置

git config --global user.name "yourName"
git config --global user.email "yourEmail"

在github创建远程仓库
....


git 分区

工作区

即.git所在的文件夹。
创建方式:

    git init 

暂存区/索引区/缓存

通过 git add命令即可将代码从工作区放到暂存区

//将当前目录所有文件添加到暂存区(自动忽略.gitignore配置的文件)
git add *

版本区

从暂存区提交到版本区

git commit -m "msgs ..."
//-m 要添加的代码注释说明

忽略文件

在仓库文件根目录下创建.gitignore文件,在其中配置要忽略的文件。

==注意==在window上创建该文件可能出错,因为windows对文件名开头带点的命名限制问题,此时可以在命令行或IDE中创建:

//git命令创建gitignore文件
 touch .gitignore

gitignore内容如下:

//.gitignore
   .idea //匹配任何目录下的.idea文件
   /.idea //匹配根目录下的.idea文件
   /node_modules //匹配根目录下的node_modules文件夹

分支

查看分支

git branch

根据当前分支代码创建新分支

//新分支名字dev 
git branch dev

切换分支

//切换到dev分支(即把本地仓库区中的dev分支代码检出到工作区)
git checkout dev

拉取与拉检出并切换分支:

//拉取远程dev分支到本地(直接更新工作区内容)
get pull origin dev 

//将本地仓库中的origin指向的dev分支检出并切换到新创建的dev-crb分支上(前提dev-crb分支不存在)
git checkout -b dev-crb  origin/dev

比较两个分支 git diff

语法:git diff 分支1最新版本(或当前分支版本号) 分支2最新版本(或当前分支版本号)
如 master跟dev比较
git diff dev master
输出信息中
+表示分支2相比较分支1增加的部分
-表示分支2比分支1缺少的部分

比较差异,输出统计信息

git diff dev master --stat

合并分支

git merge xxx
将xxx分支合并到当前分支上

冲突解决

fetch

pull拉取时会自动合并
fetch拉取远程到本地指定分支,后续需要手动合并
git fetch origin dev dev:tmp
git merge tmp

时光穿梭

git log

显示当前版本前的所有提交日志

git reflog

显示所有操作日志,包含merge、checkout、commit等操作的日志。

回到指定版本

git reset --hard 提交编号

回到最新的提交点,需要先用命令 git reflog查看最新提交节点的提交id,然后再执行以下命令:

git reset --hard 最新的提交版本id

回到上一个版本

git reset --hard HEAD^

里程碑 (TAG--标签)

记录(标记)某一个或某几个重要的版本,会对这个版本做一个Tag来标识,如 v1.0.0、v1.0.1,
常用操作:

//给当前版本打TAG
git tag v0.3 

//给先前某个提交id打上TAG
git tag v0.2 提交id

//查看所有TAG(里程碑)
git tag

//推送指定TAG(v0.3)到远程
git push origin v0.3    

//检出指定tag的代码
git checkout <tagname>

由于我们打tag时是对应一个分支的某次提交id的,所以tag跟commint id是绑定的,一般的,我们只会在master分支上的某些提交节点打入tag,标记某些功能添加或bug修复后的重要节点, 其他分支可以直接根据tag名来检出指定的节点代码。


==常见问题==:

如果在拉取dev分支时提示错误,很有可能是本地有代码修改,但没有提交到本地仓库,此时可以先提交本地仓库再拉取。

如果在推送dev分支到远程dev时失败,则可能出现了冲突,修改有冲突的代码,修改完毕后按正常程序推送到远程即可。推送完毕后,需要在远程或本地的master分支中合并dev分支推送的代码。

git生成公私钥命令:

//打开git bash,在控制台中输入以下命令
ssh-keygen -t rsa -C "youremail@example.com"
//默认会在C:\Users\YourName\.ssh文件夹中生成公私钥
上一篇下一篇

猜你喜欢

热点阅读