一、git命令的使用
http://www.kernel.org/pub/software/scm/git/docs/git-show.html
1:git init 创建一个工作区 该工作区包含一个.git目录
其中如果在这个工作区外面有创建了一个工作区也就是有执行了这个
git init这个时候就会有个.git目录(也就是里存在版本控制文件目录)
这个时候git会查找最近的那个.git目录
2:git add a.txt 加入暂存区 git add . 表示所有的这个文件都加入到暂存区
3:git status/git st(可以自己定义别名) 查看当前版本库状态
4:git commit -m"注释" 提交注释
5:git hist 可以查看到所有的分支和当前分支也可以查询处是谁提交的代码
6:git commit -a -m"committ3" 跳过git add .(.代表当前) 不推荐使用
7:git log查看日志
8:git config自定义命令:ex:git st/git co(checkout)
9:git diff (没有git add之前得对比)表示上一次和本次修改之后的差异(并没有放到暂存区里面)
10:git diff -head (没有git add之前得对比) head表示当前的分支<类似于游标>(比如master也就是主分支当前的版本库)
也就是这个分支最后的一次提交产生的版本库
11:git status -s 有时候会显示出两个MM,当执行git diff时但是没有执行git add .之前 会在第二列出现M
表示的是当前文档(修改之后的文件)和工作区有差异(就是刚才修改之前得按个文件)
当执行了git add .但是没有执行git commit -m时就会在第一类出现一个M表示当前的版本库(也就是提交上去的按个版本)和
中间状态有差异(中间绿色的那个)
12:git add . 暂存区的用处:当我们开发完一个功能之后可能add一下,但是不要提交,然后在去代码上测试功能(日志,输出语句等)
最后使用git checkout a.txt就可以撤销刚才的那些测试代码,然后功能代码
13:git branch查看当前分支
14:git branch mydev 创建分支
15:git checkout mydev 切换分支
16:git reset a.txt 从暂存区撤销 然后可执行git checkout a.txt 回到原点
当我们创建另外的一个分支是,并在另外一个分支做文件修改之后(还没有提交,也没有放到暂存区,但是也可以放到暂存区中),然后上一个分支说有问题了
这个时候就必须切换到上一个分支,然后保证这个分支是nothing to commit状态就可以了,但是会发现上一个分支也产生了modified:a.txt的状态,所以就要切换到另外一个
分支,然后使用这个命令git stash 临时保存这个文件,然后切换回去提交上一个分支就没有问题了,然后在回到另一个分支继续开发(吵架)
发现切换
17:git stash临时保存修改的文件
18:git stash pop 然后在打开分支的进行操作(提交啊撤销啊等)
19:git reset --hard 版本名称(使用git hist可以看到) 粗鲁的撤销到某个版本
20:git reflog查看所有的分支的版本信息(粗鲁的回去)
21:git reflog master查看指定master分支下的版本信息(注意{0}{1}{2}代表的从上到下是最新的版本)
22:git reset --hard master{1} 粗鲁的回到master分支的第二个版本,但是中间的修改将会丢失了
23:git reset 文件名称/文件路径 表示的是撤销某个文件/撤销整个目录下的文件
24:git push origin master 讲项目推送到github上 
25:git checkout 版本号(使用git hist可查看) 表示我要回退到这个版本,做了修改之后再合并
26:git branch -v查看分支 如果有一个信息显示no branch表示分离头指针


二、git对象(tree parent author等等)
printf gwm230 |sha1sum 将gwm230进行加密并输出
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐