git常用命令-zqh
详细信息参考廖雪峰老师的git!!!
基本条件:安装GitHub,安装成功之后;(windows系统)
1、安装完成后,还需要一步设置,在命令行输入:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
2、配置Ssh 公钥(以上步骤只需第一次时使用)
a) 检查本机是否有ssh key设置:$ cd ~/.ssh 或cd .ssh(如果没有则提示: No such file or directory;如果有则进入~/.ssh路径下(ls查看当前路径文件,rm * 删除所有文件))
b) 生成密钥:$ ssh-keygen -t rsa -C "xxx@yeah.net" 得到了两个文件:id_rsa和id_rsa.pub。
c) 在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。
d) 打开github,找到setting->SSH 选择添加一个SSH,title随便写(最好见名知意),把id_rsa.pub里的内容复制到title的框框中。
3、创建版本库
先找一个合适的地方,创建空目录(右键——Git Bash),输入命令:
mkdir learngit(文件名)
cd learngit
pwd (pwd命令用于显示当前目录,可不写)
4、通过git init命令变成Git可管理的仓库
git init
这时Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository)
5、把文件添加到仓库
把需要上传的文件复制到文件夹learngit中,然后执行命令
git add .( . 代表添加文件夹中的所有文件)
执行之后没有任何显示,表示正确。
6、用命令git commit告诉git,把文件提交到仓库
git commit -m “first commit”
(引号中可随意写,这里边内容是说明,比如说明这是第一次提交)
7、创建远程仓库
登录GitHub,在右上角找到“new repository”按钮,创建一个新的仓库,填写名字(learngit),点击创建。
8、根据GitHub提示,在本地learngit仓库下运行命令:
git remote add origin git@github.com:flower-qh/learngit.git
(flower-qh是自己的GitHub账号名)
9、把本地库的所有内容推送到远程库上,执行命令:
git push -u origin master
10、(第二种方式)从远程库克隆
首先,登陆GitHub,创建一个新的仓库,名字叫xxx
我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到README.md文件
然后,用命令git clone克隆一个本地库
git clone git@github.com:michaelliao/xxx.git
最后,执行5,6,11。
11、分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
1.创建分支dev,然后切换分支dev:$ git checkout -b dev
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
2.用git branch命令查看当前分支:git branch(git branch命令会列出所有分支,当前分支前面会标一个*号)
3.然后,我们就可以在dev分支上正常提交,比如对当前文件(master.txt)做个修改.
4.提交
$ git add master.txt
$ git commit -m "branch test"
5.dev分支的工作完成,我们就可以切换回master分支
$ git checkout master
6.把dev分支的工作成果合并到master分支上:
git merge dev
7.合并完成后,就可以删除dev分支了
$ git branch -d dev
8.除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的:
git push origin <branch>
9.让Git显示颜色,会让命令输出看起来更醒目:
$ git config --global color.ui true
10.
11.
12、其他命令介绍:
git status命令看看结果git status命令看看结果
用git diff可以查看修改内容
命令git rm用于删除一个文件
穿梭前,用git log(git log --pretty=oneline)可以查看提交历史,以便确定要回退到哪个版本。
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
ls查看当前路径文件,rm * 删除所有文件
cat file 查看版本内容
git checkout -- file意思就是,把file文件在工作区的修改全部撤销,这里有两种情况:
一种是file自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是file已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
13、撤销修改
a) 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
b) 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
c) 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。