Git命令

Git是什么?

Git是开源分布式版本控制工具,方便团队对代码进行管理。

安装

git网站上下载自己电脑的安装程序,一直下一步

配置身份

打开Git Bash,这个身份用于git log后的信息显示

git config --global user.name "xxx"
git config --global user.email "xxx@gmail.com"

创建本地仓库

进入项目目录下,通过git init即可创建本地仓库,此时项目会出现一个隐藏.git文件用来记录本地所有的Git操作

git init

配置提交省略文件

Git通过.gitignore文件将指定的文件或目录排除在版本控制之外,在Android Studio生成项目时,会自动生成两个.gitignore文件,一个是全局文件,另一个是模块文件,可对其进行修改。

查看修改内容

使用git status +文件名可以查看自上次提交后被修改的文件,如下查看当前目录被修改的文件

git status .

使用git diff +文件名查看具体变更内容,如下查看当前目录的具体修改

git diff .

撤销未提交的修改

在文件未被add时,可以通过使用git checkout +文件名恢复对文件的一切修改,如下还原当前目录的修改

git checkout .

当文件已被add时,需使用git reset HEAD +fileName对其取消添加,然后才能撤销修改,如下取消添加当前目录

git reset HEAD .

回退版本

当文件已被commit时,会生成一个id,通过git reset --soft/hard id可以将代码复原到之前的版本

git reset --hard id
git reset --soft id

hard回退到指定id的commit并还原所有修改,soft回退指定id的commit但不还原修改,非必要不使用hard,使用时最好对修改做好备份

hard只能回退修改的文件,若要删除新增的文件,可使用

git clean -xdf .

查看提交记录

通过git log可查看历史提交信息,其包括commit id、git config配置的用户名和邮箱、提交日期、git commit的备注

git log

通过git show可查看具体提交内容,参数–name-status只查看提交的文件

git show id

分支

分支的作用是在现有代码的基础上开辟一个分岔口,使得代码可以再主分支和分支线同时进行开发,再最后将分支线合并回主分支

查看分支

通过git branch可以查看当前本地分支(带有*标识),master为主分支,-a查看所有分支(包括本地和远程分支)

git branch 

拉取分支

把远程分支拉到本地

git checkout -b branchName origin/branchName

切换分支

切换本地分支也是使用git checkout,如果不先拉取远程到本地,直接运行下面指令会导致HEAD指向远程分支,而不是指向本地分支

git checkout branchName

创建分支

创建分支需要加上分支名

git branch branchName

推送新分支到仓库

git push origin branchName

删除分支

删除本地分支加入-D参数,删除前需要切换到其他分支

git branch -D branchName

删除远程分支

git push origin --delete remoteBranchName

远程版本库

远程版本库是最原始的代码,团队成员从中获取代码各自开发,并将代码提交到版本库进行更新,而成员需经常从版本库中获取最新代码

下载远程版本库代码

可通过git clone下载远程版本库代码到本地,下载后默认为master分支,其中origin代表http或者ssh链接

git clone ssh/http

推送本地代码到远程版本库

需要先add、commit提交到本地,再git push推送到远程分支

git add .
git commit -m "xxx"
git push origin branchName

拉取远程版本库代码到本地

fetch+merge(手动合并)

获取远程代码库并同步到本地,使用fetch需要指定远程分支

git fetch origin master

同步下来的代码块会存到origin/master分支下,可通过diff查看区别

git diff origin/master

然后通过merge将origin/master分支合并到本地分支

git merge origin/master

pull(自动合并)

pull命令等于fetch+merge,自动获取最新代码并直接合并到本地

git pull origin master

分支操作

拉取最新的主分支代码到当前分支

meger

将主分支的最新代码同步到branchName本地分支

git checkout master
git pull 

git checkout branchName
git meger origin master

pull

将主分支的最新代码同步到branchName本地分支并提交,如果有冲突,需要解决冲突后再进行合并

git checkout master
git pull 

git checkout branchName
git pull origin master

合并主分支上的某个特定提交到当前分支

将主分支的某commit-id同步到branchName分支

git checkout branchName
git cherry-pick master-commit-id

基于主分支重新创建当前分支

将branchName分支的第一条提交放到最新master分支的最后一条提交后面,如branchName分支为A-C,master分支为A-B,下面运行完之后branchName分支为A-B-C,这里需要强制推送,因为本地分支和远程分支的commit不一样了

git checkout master
git pull 
git checkout branchName
git pull 

git rebase master
git push -f origin branchName

将master分支的新提交内容导入branchName分支

  • 如branchName分支为A-C,master分支为A-B,下面运行完之后branchName分支为A-B-C
git checkout master
git pull 
git checkout branchName
git pull 

git rebase master
git pull --rebase
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值