git 基本信息
--设置全局用户名
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "13241153187@163.com" //设置邮箱
--查看环境配置
git config --list
--配置文件保存在
~/.gitconfig
---初始化一个空仓库
git init
---查看仓库repository状态
git status
git status -a 简要信息
---提交文件,参考下面图片
git add 文件名
git commit -m '将文件提交到本地仓库'
查看文件变化内容
要随时掌握工作区的状态,使用git status命令
--如果status,告诉你有文件被修改,查看文件 变化内容
git diff
--执行add之后 查看临时空间与版本库的变化
git diff --staged
git diff --cached
--工作区和版本库里面最新版本的区别:
git diff HEAD -- readme.tx
回退
--场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令
git checkout -- file。
--场景2:当你不但改乱了工作区某个文件的内容,还添加(add)到了暂存区时,想丢弃修改,分两步,第一步用命令
git reset HEAD file --就回到了场景1,第二步按场景1操作。
--场景3:已经提交(commit)了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库
--穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本
--命令显示从最近到最远的提交日志
git log
--一行显示
git log --pretty=oneline
--HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
git reset --hard 3628164
--上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
git reset --hard HEAD^
--要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本,记录操作历史
--这个比较重要,将本地分支强行覆盖远程分之
git push --force
git从远程下载项目到本地
git clone http://XXX.XXX/sq-group/XXX.git
项目上传到远程
--进入项目文件夹,初始化本地git:
git init
--在远程githup上创建一个项目,和本地项目名称一样
--创建一个远程仓库别名在本地:
git remote add origin git@gitlab.58corp.com:58finance_loan/clearing-share.git
--内容加到临时空间:
git add 提交文件(添加一个文件.gitignore,用来去掉不需要提交文件,见附件)
--提交到本地仓库:
git commit -m "first commit"
--添加到远程仓库:
git push -u origin master
远程仓库
--创建远程仓库别名:
git remote add 别名 url
--查看远程仓库:
git remote
--删除:
git remote remove 别名
git 分之操作
--------------------基本---------------------
--查看分支:
git branch
--查看远程分之:
git branch -a
--创建分支:
git branch <name>
--切换分支:
git checkout <name>
--创建+切换分支:
git checkout -b <name>
--合并某分支到当前分支:
git merge <name>
--查看冲突文件:
git status
-- 查看分支历史(从哪个分支拉取过来)
git reflog
--用远程文件覆盖本地:
git checkout --theirs -- src/main/java/com/bj58/finance/web/controllers/quickapply/QuickApplyController.java
--用保留本地分支,剔除掉merge的内容:
git checkout --ours -- 路径
--解决冲突后,需要添加文件修改:
git add
--删除分支:
git branch -d <name>
------------------推送分之-----------------
------查看远程库信息,使用:
git remote -v
origin git@github.com:michaelliao/learngit.git (fetch)
origin git@github.com:michaelliao/learngit.git (push)
--上面显示了可以抓取和推送的origin的地址。如果没有推送权限,就看不到push的地址
--push 分之时 可用origin来代替地址
--------git把本地创建的分之推送到remote,如果存在则合并,不存在创建
--方法1:
git push [远程仓库地址或者别名(origin)] 本地分支名称
--方法2:
git push [远程仓库地址或者别名(origin)] 本地分支名称:远程仓库分之名
-----如果:左边的本地分支为空,那么将删除:右边的远程的分支。
---删除远程分之:
git push [远程仓库地址或者别名(origin)] (这里是空格):要删除的远程分之
----------------------获得远程分之------------------------------
--git 从获得远程仓库分之/代码
--方法1:
git pull [远程仓库地址或者别名(origin)] 远程分支名称
--方法2:
git fetch [远程仓库地址或者别名(origin)] 远程分支名称:本地分支名称(可不写)
--将远程分之信息全部同步到本地
git fetch
合并其它分之内容到我的分之
git cherry-pick 3761e9fd2b7e3995b16fee062859c514d1d75b8e
临时切换分之
--将分之内容,临时储藏起来
git stash
--查看临时储存的内容
git stash list
--恢复后,stash内容并不删除
git stash apply
--删除
git stash drop
--恢复的同时把stash内容也删了
git stash pop
git简介 教程