Unix的哲学是“没有消息就是好消息”
参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
常用命令:
1. git add #添加至暂存区stage
2. git commit -m " " #提交
3. git status #查看状态(提交添加,文件修改等)
4. git checkout -- xxx.txt #检出最新版覆盖当前文件
5. git reflog #提交历史,操作历史
6. git reset --hard xxxxx #恢复文件至某一次提交历史
7. git dif xxxx.txt #当前文件修改内容
8. git remote add xxx xxxx #将本地仓库与远程服务器进行关联。 xxx随便自己仓库提交至服务器使用的名字,xxxx git SHH地址
9. git push -u xxx master #讲本地仓库推送到远程服务器。xxx即上一条中创建关联是的名字
10. git clone xxxx #下载远程仓库至本地xxxx git SHH地址
11. git checkout -b dev #创建并切换到dev分支(dev随便起名)
12. git branch #查看分支情况,其中带有*的为当前分支,当然命令行业有显示
13. git merge dev #合并分支dev至master
14. git branch -d dev #删除分支dev
15. git remote -v #查看本地对应远程仓库名
1. 百度下载git客户端 http://rj.baidu.com/soft/detail/40642.html
2. 安装完成后,打开gitcmd 配置用户名及邮箱
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
3. 创建一个文件夹用来做git的仓库,D:\GitRepository。然后切换到该目录,执行git init,仓库建立完成
4. 初始化一个Git仓库,使用git init
命令。
添加文件到Git仓库,分两步:第一步,使用命令git add <file>
,注意,可反复多次使用,添加多个文件;第二步,使用命令git commit
,完成。
5. 要随时掌握工作区的状态,使用git status
命令。如果git status
告诉你有文件被修改过,用git diff
可以查看修改内容。
git diff readme.txt
6.
HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令
git reset --hard commit_id
。
-
穿梭前,用
git log
可以查看提交历史,以便确定要回退到哪个版本。 -
要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本。 -
--pretty=oneline 在一行查看
7. 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file
,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库
8.
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa
和id_rsa.pub
这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以在用户主目录里找到.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件,这两个就是SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,可以放心地告诉任何人。
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub
文件的内容:
9. 本地仓库与github关联
$ git remote add test git@github.com:zwxlucky/GitRepository.git
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git
;
关联后,使用命令git push -u origin master
第一次推送master分支的所有内容;(origin 本文的test)
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master
推送最新修改;(origin 本文的test)
10.Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
11.
当你从远程仓库克隆时,实际上Git自动把本地的master
分支和远程的master
分支对应起来了,并且,远程仓库的默认名称是origin
。
要查看远程库的信息,用git remote
:
$ git remote
origin
或者,用git remote -v
显示更详细的信息:
$ git remote -v
origin git@github.com:michaelliao/learngit.git (fetch)
origin git@github.com:michaelliao/learngit.git (push)
上面显示了可以抓取和推送的origin
的地址。如果没有推送权限,就看不到push的地址。