git记录

安装git
git config --global user.name " 你的昵称随意"
git config --global user.email " 你的邮箱"
git相关命令记录(廖雪峰Git : https://www.liaoxuefeng.com/wiki/896043488029600)
通过git init命令把这个目录变成Git可以管理的仓库:
用命令git add告诉Git,把文件添加到仓库可以多次add不同的文件:commit文件前必须先将文件add到暂存区文件在暂存区进行修改之后需要重新add一次:git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支,每次修改,如果不用git add到暂存区,那就不会加入到commit中。
用命令git commit告诉Git,把文件提交到仓库 -m 后面输入的是本次提交的说明:
- 使用命令
git add <file>,注意,可反复多次使用,添加多个文件; - 使用命令
git commit -m <message>,完成
运行git status命令看看结果:
git diff顾名思义就是查看difference
版本回退
git log命令显示从最近到最远的提交日志命令 查看我们历史记录 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数:
后退我们要把当前版本回退到上一个版本,就可以使用git reset命令:上一个版本就是HEAD^,上上一个版本就是HEAD^^ 命令格式 git reset --hard HEAD^ 前进(这是在当前操作的窗口没有关闭的情况)如果要上一个版本回到当前版本git reset --hard 1094a 版本号没必要写全,前几位就可以了
当前窗口关闭无法找到版本号 Git提供了一个命令git reflog用来记录你的每一次命令:git reflog
-
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。 -
穿梭前,用
git log可以查看提交历史,以便确定要回退到哪个版本。 -
要重返未来,用
git reflog查看命令历史,以便确定要回到未来的哪个版本。
用git diff HEAD -- 文件名 命令可以查看工作区和版本库里面最新版本的区别:
撤销修改
git checkout --readme.txt 可以丢弃工作区的修改:意思就是,把这个文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区没有执行add操作,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后已经执行add操作,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令
用命令git reset HEAD <file>可以把暂存区的修改撤销掉(unstage),重新放回工作区:git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
删除文件
rm 文件删除工作区文件然后 是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
创建与合并分支

创建dev分支,然后切换到dev分支 : git checkout -b dev git checkout命令加上-b参数表示创建并切换,相当于以下两条命令: git branch dev git checkout dev 然后,用git branch命令查看当前分支:git branch命令会列出所有分支,当前分支前面会标一个*号。
把dev分支的工作成果合并到master分支上:git merge devgit merge 命令用于合并指定分支到当前分支
删除dev分支了:git branch -d dev
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
分支管理策略
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
git merge --no-ff -m "merge with no-ff" dev 因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
Bug分支
你现在手上有两个工作新需求还没有干完(暂时还不能提交估计还要搞一天)还有一个问题是测试那边有一个bug需要赶紧修复(2小时之内解决) 难受难搞
Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
git stash
步骤创建零时的bug分支去解决bug之后提交合并分支
然后切换到dev目录进行干活 , 用git stash list命令看看:Git把stash内容存在某个地方了,但是需要恢复一下
有两个办法:
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了:
再用git stash list查看,就看不到任何stash内容了:
你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:
$ git stash apply stash@{0}
场景 : master bug修复了但是dev分支也存在这个bug
Git专门提供了一个cherry-pick命令,让我们能复制一个特定的提交到当前分支:
git cherry-pick <commit> 提交的版本号 用git cherry-pick,我们就不需要在dev分支上手动再把修bug的过程重复一遍。
git config --list 查看你添加的信息
ssh-keygen -t rsa -C "你注册github的邮箱" 生成本地秘钥 一路空格 或者y即可
pwd 查看你所在的目录
切换到C:根目录



ssh -T git@github.com 查看git是否和github连通

在github上新建项目

在本地新建一个工作目录使用 使用git命令工具一步一步执行命令
echo "# demo" >> README.md 创建文件并写入
git init 初始化工作目录
git add README.md 添加相应文件到index
git commit -m "first commit" 提交已经相关信息
git remote add origin https://github.com/*****/demo.git 远程git地址
git push -u origin master 提交到远程仓库
git remote -v查看所有的仓库

浙公网安备 33010602011771号