git基本命令

一、初次运行 Git 前的配置
用户信息
当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

检查配置信息
如果想要检查你的配置,可以使用 git config --list 命令来列出所有 Git 当时能找到的配置。

你可以通过输入 git config <key>: 来检查 Git 的某一项配置

git config user.name

二、获取 Git 仓库 

在现有目录中初始化仓库
git init
git add *.c
git add LICENSE
git commit -m 'initial project version'

克隆现有的仓库
git clone https://github.com/libgit2/libgit2
git clone https://github.com/libgit2/libgit2 mylibgit

检查当前文件状态
git status

跟踪新文件
使用命令 git add 开始跟踪一个文件。 所以,要跟踪 README 文件,运行:
git add README

暂存已修改文件
git add CONTRIBUTING.md

查看提交历史
git log
一个常用的选项是 -p,用来显示每次提交的内容差异。 你也可以加上 -2 来仅显示最近两次提交:
git log -p -2
用 oneline 将每个提交放在一行显示
git log --pretty=oneline

加commit号,单独查看此次版本的日志
git show

撤消对文件的修改
git checkout -- <file>

查看当前所有修改

git diff filename

查看某个文件修改记录

git blame 文件名

取消暂存的文件
git reset HEAD <file>

交后发现忘记了暂存某些需要的修改,可以像下面这样操作:
git commit -m 'initial commit'
git add forgotten_file
git commit --amend

版本回退
git reflog 查看commit_id记录
git reset --hard commit_id

取消提交
git reset --soft HEAD^
git reset --hard HEAD^ //add也撤销了

HEAD^ 表示上一个版本,即上一次的commit,几个^代表几次提交,如果回滚两次就是HEAD^^。
也可以写成HEAD~1,如果进行两次的commit,想要都撤回,可以使用HEAD~2。
--soft
不删除工作空间的改动代码 ,撤销commit,不撤销add
--hard
删除工作空间的改动代码,撤销commit且撤销add
如果commit后面的注释写错了,先别急着撤销,可以运行git commit --amend
进入vim编辑模式,修改完保存即可

查看远程仓库

可以指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL
git remote -v

从远程仓库中抓取与拉取
git pull

推送到远程仓库
git push

三、git分支管理

1、查看本地分支

git branch

2、查看远程分支

git branch -r

3、查看所有分支

git branch -a

4、新建一个分支,但依然停留在当前分支

git branch [branch-name]

5、新建一个分支,并切换到该分支

git checkout -b [branch]

6、新建一个分支,指向指定commit

git branch [branch] [commit]

7、新建一个分支,与指定的远程分支建立追踪关系

git branch --track [branch] [remote-branch]

8、切换到指定分支,并更新工作区

git checkout [branch-name]

9、切换到上一个分支

git checkout -

10、建立追踪关系,在现有分支与指定的远程分支之间

git branch --set-upstream [branch] [remote-branch]

11、合并指定分支到当前分支

git merge [branch]

12、选择一个commit,合并进当前分支

git cherry-pick [commit]

13、删除分支

git branch -d [branch-name]

14、删除远程分支

git push origin --delete [branch-name]

git branch -dr [remote/branch]

如果冲突了,你可以先 git stash 然后执行git pull 然后在git stash pop ,这样本地会显示冲突

意思就是先备份本地,然后拉取最新,然后在恢复备份。这样会在本地显示出来冲突文件项,解决完后再提交上来就行了

posted @ 2018-03-06 14:29  个人小站  阅读(148)  评论(0)    收藏  举报