Bootstrap

GIT 基本命令总结和使用方法归纳

基本操作:

1、mkdir learngit   创建空版本库

2、cd learngit  进入版本库

3、git init   在当前位置创建git库会提示Initialized empty Git repository 意思是初始化的空Git存储库

4、git clone    克隆一个库到本地库

5、vim readme.txt   新增一个文件

6、git add readme.txt  添加文件到git库,可同时添加多个文件 git add file2.txt file3.txt

7、git commit -m "a new file"  把文件提交到git库 -m 后面是备注信息随意填写

8、git diff 加文件名,详细查看修改过的文档内容,减号是去掉的内容加号是新增的内容

9、git status  查看当前库状态

10、git log  命令显示从最近到最远的提交日志  git log --pretty=oneline  缩略显示

11、git reset --hard HEAD^ 版本回溯,上上一个版本就是HEAD^^ ,100个版本写成HEAD~100。

12、git reset --hard <版本id> 找回已回溯的版本

注意:版本回滚后强制推送到远程 git push -f origin master

拉取最新分支的时候需要刷新缓存

git fetch --all // fetch所有分支上的内容,也可以选择只备份一部分内容
git reset --hard origin/master // 重置本地分支(这里master要修改为对应的分支名)
git pull

13、git reflog 用来记录你的每一次命令

14、git checkout --<文件名>  可以丢弃工作区的修改

15、git reset HEAD <文件名> 可以把暂存区的修改撤销掉(unstage),重新放回工作区

16、rm readme.txt  删除真实文件

17、git rm <文件名> 删掉版本库文件命令,版本库中删除该文件,那就用命令git rm删掉,并且需要 git commit 提交

工作原理详解:

把文件存入git库

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

分支详解:

<name>代表分支名称

更新远程全部分支:git fetch

查看远程全部分支:git branch -a

如果切换远程分支失败可以用以下:git checkout -b <name> 远程分支<name>

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

查看远程库的信息:git remote; git remote -v 显示更详细

推送分支:git push origin <name>

下载分支: git pull origin

图解:

1、创建切换到一个新的名为dev的分支

2、在当前dev分支修改readme.txt文件

3、在当前dev分支git add 添加 readme.txt文件

4、在当前dev分支git commit -m '' 提交readme.txt文件

5、git branch 查看当前分支,并切回默认分支master上

6、查看当然主分支 readme.txt 文件,之后合并dev分支所做修改到当前分支,查看文件变化

分支灵活用法

git stash 储藏当前工作空间到暂存区

git stash list  查看暂存区内容列表

git stash pop   恢复储存的空间的同时把stash暂存区内容也删掉

git stash apply stash@{num} 方法回到当前工作空间且不删除修改

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

强制使用远程仓库代码覆盖本地仓库

git fetch --all

git reset --hard origin/master  ## origin/分支名

git pull

生成git pubkey -生成公共/私有rsa密钥对。

1、执行命令ssh-keygen 一路回车

2、cd ~/.ssh/ 下面即可找到,如果有人要你的公钥就把id_rsa.pub文件复制给他

官方文档:http://www.runoob.com/git/git-tutorial.html

Git 对比两个版本间某一个文件的变化

先列出两个版本间发生更改的文件列表

git diff commit1 commit2 --stat --name-only

查看指定文件在两个版本间发生的变更

git diff commit1 commit2 -- somefile.js

;