git常用命令整理

1. 设置用户名邮箱

    git config --global user.name "baiwei.ji"

    git config --global user.email"baiwei.ji@qunar.com"

    * 使用git config命令的--global参数,表示你这台机器上所有的Git仓库都会使用这个配置。也可以对某个仓库指定不同的用户名和邮箱地址。

2. 查看工作区的状态

    git status

3. 初始化版本库

    git init

    *在一个文件夹下执行git init就是初始化这个文件夹,此时执行git status,可以看到文件夹下的所有文件都变成未被跟踪的文件

4. 将文件添加到仓库

    git add readme.txt

    git commit -m "add a readme file"

    *git add是把文件添加到暂存区,可反复多次使用

     git commit是把暂存区的内容添加到当前分支,-m后面是本次提交的说明

      

5. 查看文件修改的内容

    git diff    显示工作区和暂存区(索引区)的差异

    git diff --cached   显示暂存区(索引区)与git仓库的差异

    git diff HEAD  显示工作区和暂存区(索引区)的差异

6. 将文件回退到上一个版本

    git reset --hard HEAD^    

    *也可以通过文件的版本号(commit_id)回退 git reset --hard commit_id  

     commit_id可以通过git reflog或者git log命令查看

7. 撤销工作区修改

    git checkout -- file

    *当工作区文件readme.txt被修改,想撤销修改时,使用命令 git checkout -- readme.txt

     当工作区文件readme.txt被修改,且被添加到暂存区时,先使用命令 git reset HEAD readme.txt 把暂存区的修改撤销掉,再使用命令 git checkout -- readme.txt

     当文件已经被提交到版本库时,可以使用版本回退命令 git reset --hard HEAD^ 撤销此次提交

    *git checkout是用版本库的版本替换工作区的版本,无论工作区是修改还是删除,都可以还原

8. 删除文件

    rm readme.txt

9. 创建新的ssh key

    ssh-keygen -t rsa -C "baiwei.ji@qunar.com"

10. 关联远程库

    git remote add origin git@github.com:wwwgboy/learngit.git  

    *关联wwwgboy这个github账户中的learngit仓库,origin是远程库的名字

11. 把本地库的内容推送到远程库

    git push origin master   

    *第一次推送时,使用 git push -u origin master 命令,这样会把本地的master分支和远程的master分支关联起来,方便以后的推送或者拉取

12. 克隆远程库

    git clone git@github.com:wwwgboy/gitcopy.git  

    * git@github.com:wwwgboy/gitcopy.git  为wwwgboy这个github账户中gitcopy库的地址,为ssh地址,还可以使用http地址,如https://github.com/wwwgboy/gitcopy.git

13. 分支管理

    git branch   查看分支

    git branch test   创建分支test

    git branch -d test   删除分支test

    git checkout test   切换到分支test

    git checkout -b test   创建并切换到分支test

    git merge test   合并test分支到master分支(当前处在master分支)

    git log -- graph   查看分支合并图

14. 文件重命名

    git mv reademe.txt readme    将readme.txt 重命名为readme

15. git fetch和git pull的区别

    git fetch相当于是从远程获取最新版本到本地,不会自动merge

    git pull 相当于是从远程获取最新版本并merge到本地

16. 配置别名

    git config --global alias.co checkout      用co表示checkout

    

posted @ 2015-07-18 18:31  webberji  阅读(151)  评论(0编辑  收藏  举报