教程:https://gitee.com/progit/
一般工作流程:
工作区准备
从远程克隆项目:git clone git@feng/test.git
创建忽略文件.gitignore
,如:
# Maven #
target/
# IDEA #
.idea/
*.iml
# Eclipse #
.settings/
.classpath
.project
选择分支;
查看远程地址:git remote -v
查看所有远程分支:git branch -r
查看所有本地分支:git branch -a
新建本地分支:git branch xxx
切换本地分支:git checkout xxx
创建远程分支:git push origin xxx
在克隆的资源上添加或修改文件;
如果其他人修改了,你可以更新资源;
暂存本地修改:git stash
本地与远程同步:git pull
还原并删除暂存的内容: git stash pop stash@{id}
删除暂存的内容:git stash drop <stash@{id}>
在提交前查看修改;
查看修改的内容:git diff fileName
撤销文件的修改:git checkout fileName
添加文件到暂存区:git add fileName
取消修改到暂存区:git reset fileName
提交修改;
查看修改的状态:git status
普通提交(本地):git commit -m "notes"
使用指定log文件的形式进行提交(本地):git ci -F cimsg.txt
给提交点打标签:git tag -a v1.4 hashValue
提交标签到远程:git push origin v1.4
在修改完成后,如果发现错误,可以撤回提交;
查看提交记录:git log
查看修改记录:git show hashValue
撤销log修改1:git reset --hard hashValue
(恢复到之前某个提交的版本,且那个版本之后提交的版本都不要了)
撤销log修改2:git revert hashValue
(撤销之前的某一版本,保留该目标版本后面的版本)
合并/删除分支;
dev分支合并到master分支:
git checkout dev
git pull
git checkout master
git merge --no-ff dev
(会保存分支历史)
git push -u origin master
(会指定该主机为默认主机)
master分支更新到dev分支:
git checkout master
git pull
git checkout dev
git merge --no-ff master
git push -u origin dev
遇到冲突需要手动解决
删除本地分支:git branch -d xxx
删除远程分支:git push origin --delete xxx
更新到远程;
同步到最新状态:git pull origin master
提交到远程仓库:git push origin master
git clone git@xian/test.git
git pull origin master
git branch -a
git branch dev_sxf
git checkout dev_sxf
git stash
git checkout master
git pull origin master
git checkout dev_sxf
git merge --no-ff master
git stash pop
git diff xxxfile
git add xxxfile
git status
cimsg.txt
文件,写入log信息
git ci -F cimsg.txt
git log
git reset --soft HEAD^
--soft
:不删除工作空间改动代码,撤销commit,不撤销git add .
--mixed
:默认参数,不删除工作空间改动代码,撤销commit,并且撤销git add .
--hard
: 删除工作空间改动代码,撤销commit,撤销git add .
git commit --amend
git push origin dev_sxf
git push origin master:dev_sxf
git push origin --delete xxx