git init 把这个目录变成git可以管理的仓库
git add 是将文件提交到暂存区
git add * 是提交所有的
commit -m 是提交到版本库
工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
我们前面说过使用Git提交文件到版本库有两步:
第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。
git status来查看是否还有文件未提交
readme.txt加一行2222222 使用git status命令 可以看到那些文件更改了
git diff readme.txt是查看文件做了什么更改 git diff 不加文件名 是查询所有变化记录
修改后 提交到版本库也是执行 两部 git add、git commit
git log是查询提交历史记录 git log -2显示最近两次的历史记录 查询历史记录按Q键退出
回退版本第一种是:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100 即可
查看文件cat readme.txt
如果在还原的最新的版本 git reflog 先获取到版本号
然后git reset --hard 来恢复到指定的版本号
git checkout -- readme.txt 是撤销当前文件的修改到暂存区状态
分支切换时,出现如此错误,导致无法正常切换:error: The following untracked working tree files would be overwritten by checkout
直接执行git clean -d -fx即可 删除 一些 没有 git add 的 文件
git remote add origin 是本地仓库与远程仓库关联
git push -u origin master 推送远程仓库 -u是初次推送
如果推送失败 使用git push -f origin master进行强制推送
git clone是从远程仓库克隆项目
创建合并分支流程:
git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令
git branch dev
git checkout dev
本地创建dev分支,更改的东西,要提交到版本库 git add git commit.
工作完成后需要提交本地主干master分支,首先切换到maser分支,然后执行 git merge dev
git merge命令用于合并指定分支到当前分支上。
合并完成后,我们可以接着删除dev分支了
总结创建与合并分支命令如下:
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
合并某分支到当前分支:git merge name
删除分支:git branch –d name
解决合并冲突步骤:
首先合并分支:git merger dev (dev分支合并到mater)
然后推送远程:git push origin master。如果发现push不上去,则远程master版本已经有人提交,那么git pull进行合并
然后合并冲突,在进行git add git commit 提交 最后git push origin master
远程分支合并步骤:
远程master分支合并到release分支
git checkout -b release origin/release 。远程release 分支克隆到本地
git merge master 合并maser分支到release
如果有冲突,解决冲突。
git add git commit
git push origin release 最后推送远程
git拉取远程分支并创建本地分支
git branch -r 查看所有远程分支
git checkout -b 本地分支名x origin/远程分支名x 使用该方式会在本地新建分支x,并自动切换到该本地分支x
合并状态问题
解决步骤:
git reset --hard HEAD^ 先回滚到上一个版本,在git pull
git命令:
mkdir: XX (创建一个空目录 XX指目录名)
pwd: 显示当前目录的路径
git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件
git add XX 把xx文件添加到暂存区去
git commit –m “XX” 提交文件 –m 后面的是注释
git status 查看仓库状态
git diff XX 查看XX文件修改了那些内容
git log 查看历史记录
git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一个版本
(如果想回退到100个版本,使用git reset –hard HEAD~100 )
cat XX 查看XX文件内容
git reflog 查看历史记录的版本号id
git checkout -- XX 把XX文件在工作区的修改全部撤销
git rm XX 删除XX文件
git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
git clone https://github.com/tugenhua0707/testgit 从远程库中克隆
git checkout –b dev 创建dev分支 并切换到dev分支上
git branch 查看当前所有的分支
git checkout master 切换回master分支
git merge dev 在当前的分支上合并dev分支
git branch –d dev 删除dev分支
git branch name 创建分支
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件
git remote 查看远程库的信息
git remote –v 查看远程库的详细信息 包括git地址
git push origin master Git会把master分支推送到远程库对应的远程分支上