Git基本操作
(分支名用master代替)
从服务器克隆代码至本地(一般拉取下来的代码,当前分支都在master分支上)
git clone +服务器地址
删除分支(首先要切换到其他分支)
git branch -D master # 删除本地分支
git push origin --delete master # 删除git远程分支
查看所有分支
git branch
下拉远程自己分支代码到本地自己分支(同步)
git pull origin master
创建新分支并上传基本流程(1 - 6)
1.创建一个新分支‘first’(在master文件目录下)
git checkout -b first # 创建一个名为first的分支
git checkout otherbranch # 切换分支命令
HASEE@DESKTOP-AQSIKV3 MINGW64 ~/Desktop/githup20180420/20180420 (master)
$ git checkout -b first
Switched to a new branch 'first'
2.查看文件状态
git status
HASEE@DESKTOP-AQSIKV3 MINGW64 ~/Desktop/githup20180420/20180420 (first)
$ git status
On branch first
nothing to commit, working tree clean
3.对内容(代码)进行修改
vim +文件名 # 进行编辑
4.添加修改数据到缓存区(.表示全部)
git add . # 添加全部修改的文件
git add +修改的文件名 # 添加单个修改的文件名
HASEE@DESKTOP-AQSIKV3 MINGW64 ~/Desktop/githup20180420/20180420 (first)
$ git add .
HASEE@DESKTOP-AQSIKV3 MINGW64 ~/Desktop/githup20180420/20180420 (first)
$ git status
On branch first
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: README.md
5.提交修改到本地分支
git commit -m '注解'
HASEE@DESKTOP-AQSIKV3 MINGW64 ~/Desktop/githup20180420/20180420 (first)
$ git commit -m '注解'
[first c108b69] 注解
1 file changed, 7 insertions(+), 2 deletions(-)
```
6.提交本地分支到远程分支上
git push origin first
HASEE@DESKTOP-AQSIKV3 MINGW64 ~/Desktop/githup20180420/20180420 (first)
$ git push origin first
Logon failed, use ctrl+c to cancel basic credential prompt.
Username for 'https://github.com': Rover-ze
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 303 bytes | 151.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/Rover-ze/20180420.git
* [new branch] first -> first
7.合并添加上传文件和添加上传文件注解到本地分支的操作
git commit -am '注解'
8.设置全局变量
git config --globle user.email
"sss@qq.com"
git config --global user.name
'12356'
9.代码分支合并
git checkout 分支1 # 将分支1的代码同分支2的代码合并,先切换版本到分支1
git merge +分支2 # 分支1合并分支2
git push origin 分支1 # 提交分支1合并的代码到远程分支1上
git diff 分支1 分支2 # 查看两个分支的差异
10.标签tag
添加标签tag, 在master分支tag版本为v1.0.0
git tag -a v1.0.0 -m '注解'
git push origin v1.0.0 # 提交版本v1.0.0
删除tag
git tag -d v1.0.0 # 删除本地tag
git push origin --delete tag v1.0.0 # 删除git远程tag
11.缓存机制,在某一个分支修改了代码,但是不想提交该分支,又想切换到另外一个分支在修改相同的代码,就需要使用stash命令
git stash # 缓存本地修改的代码
# 缓存之后,在git status去查看修改代码记录会发现提示 nothing to commit,working tree clean。说明刚才修改的代码都缓存起来了
git stash list # 查看缓存的片段
#发现有缓存列表,刚才缓存的记录为 stash@{0}: XXXXXXXXXX
git stash apply stash@{0} # 还原缓存的代码
12.查看某次提交的详情,退回代码到某一次提交
查看提交的日志记录
git log
例如结果提交信息的日志如下:
commit f9838aa51ca5ccd603e1e8cbd347a43c9cd2e0be
Merge: f5847ec 52dc6fa
Author: wanghaifei <779598160@qq.com>
Date: Mon Jan 29 17:15:34 2018 +0800
Merge branch 'whf_p0' into dev
commit 52dc6fa34f36fae981d1c347825af93a150308fa
Author: wanghaifei <779598160@qq.com>
Date: Mon Jan 29 17:15:22 2018 +0800
完成预约增加预约到店时间
查看某次提交的内容
git show commit-id
退回代码 回退到当前版本用HEAD表示当前版本,上一个版本是HEAD^,或者使用HEAD~1,表示上一个版本。HEAD后面是数字可以一直往大了写,只要有那么多老版本
git reset --hard