Git command

TortoiseGit: http://download.tortoisegit.org/tgit/previews/

msysGit: https://msysgit.github.io/

初始化Git仓库                                                          

#git init

添加文件test.pyGit 仓库

#git add test.py                        //添加文件到stage

#git rm test.py              //删除文件test.py

#git mv test.py  test2.py           //更改test.py为test2.py

#git commit –m “add test.py”              //commit文件到local 库

#git commit –a             //commit所有的文件

回退                                                                                                               

#git checkout –test.py              //workspace:用stage的test.py重写工作区的test.py文件

#git checkout .                         //workspace:重写工作区的所有文件

#git reset HEAD test.py           //stage

#git reset –hard commit_id      //local repo:回退版本库。HEAD^代指前一个版本。

#git revert        //创建一个commit来覆盖当前的commit,指针向后移动,而reset指针向前移动。

查看log                                                                                                           

#git log                         //显示基本信息

#git log –pretty=raw                 //显示所有信息

#git log –pretty=oneline                       //一行显示

# git log --graph --pretty=oneline                     //查看分支合并图

#git reflog                    //查看所有具有commit_id的日志

#git status

比较

#git diff                       //workspace vs stage

#git diff –cached         //stage vs local repo

#git diff HEAD                        //local vs local repo

分支                         

#git branch                   //查看分支

#git branch –r              //查看远程分支

#git branch –a              //查看所有的分支

#git branch dev            //创建分支dev

#git checkout dev        //切换到分支dev

#git checkout –b dev   //创建并切换到dev分支

#git branch –d dev       //删除分支dev

#git branch –D dev      //强制删除分支dev

#git checkout –b dev origin/dev           //在本地创建和远程分支对应的分支

#git branch –set-upstream dev origin/dev        //建立本地分支和远程分支的关联

Merge

#git merge dev             //合并分支dev到当前分支

#git merge –no-ff –m “merge with no-ff” dev //禁用fast-forward, 也就是保留分支的相关信息

远程库(origin为远程服务器)

#ssh-keygen –t rsa –C  “youremail@example.com”    //创建SSH Key。存放在~/.ssh下。

#git clone git@github.com:minirenhappy/gitskills.git              //克隆远程库到本地

#git remote –v              //查看远程库

#git remote add origin  git@github.com:minirenhappy/gitskills.git       //关联到远程库

#git remote rm origin               //删除远程库

Pull (相当于 fetch+merge , 所以fetch更安全一些)                                          

#git pull remoteName localBranchName

#git pull origin master              //拉取远程仓库的origin到master

Fetch

#git fetch origin master

#git rebase origin/master          //把本地库的提交取消并作为patch,最后把patch应用于本地库上,可以保证提交树的整洁。

 #git push

Push到远程库

#git push  remoteName localBranchName

#git push –u origin master                    //第一次推送master到远程库

#git push origin master             //推送到远程库。

#git push origin dev:master                  //提交本地的dev分支作为远程的master分支

#git push origin dev:dev                      //提交本地的dev分支作为远程的dev分支

#git push origin dev                 //创建远程分支(本地分支push到远程)

Stash

#git stash          //将工作区现场存储起来,以后再恢复。用于修bug。

#git stash list    //查看保存的工作区现场

#git stash apply            //恢复工作区现场

#git stash drop             //删除stash内容

#git stash pop               //恢复工作区的同时删除stash的内容

#git stash apply stash@{0}      //恢复指定的工作区

Tag

#git tag             //查看标签

#git tag v1.0                 //创建标签v1.0

#git tag –a v1.0 –m “this is version 1.0”          //指定标签信息

#git tag –s v1.0 –m “this is version 1.0”          //用PGP签名标签

#git push origin v1.0                //推送本地标签到远程

#git push origin –tags               //推送所有的本地标签到远程

#git pull origin –tags                //拉取远程的标签到本地

#git tag –d v1.0                                    //删除本地标签

#git push origin :refs/tags/v1.0             //删除远程标签

忽略文件、文件夹

#仓库根目录下创建.gitignore文件。写入

#target

#*.pyc

Github

#可以Fork任何开源仓库到自己的github账户,并且拥有Fork后的仓库的读写权限。

#可以推送pull request给官方仓库来贡献代码。

posted @ 2015-07-13 09:10  微微微笑  阅读(199)  评论(0编辑  收藏  举报