GIT的基本使用

225 阅读5分钟

一、github中创建一个账户

二、本地初始化一个本地git仓库

$ git init
$ git add .
$ git commit -m "first commit"   # 输入提交信息并保存

三、提交项目到远程 Git 仓库

$ git remote add origin git://your-repo-url
$ git push origin master -u

四、创建分支

$ git checkout -b feature/0.1.0                    # 创建分支
$ git push origin feature/0.1.0                    # 提交分支

创建了一个登录的单独的分支:

git checkout -b feature/add-login

二、参考廖雪峰Git教程(原链接)所做笔记 1、先去进行下载git(请自行百度或者用廖老师的

2、使用git --version检查git是否正常安装(不正常请重新安装)

3、全局设置自己的账号和信息

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

4、创建一个版本库(仓库)(github上的英文为‘repository’)其实就是项目的目录

$ mkdir learngit #创建一个项目目录
$ cd learngit #进入项目目录
$ pwd #产看当前路径

5.去初始化一个项目git init

  1. git add readme.txt添加一个文件到本地仓库中
  2. git commit -m "wrote a readme file"文件提交到仓库(-m:指的是此次提交的备注,)
  3. git add可以添加指定的文件,git commit会一次性,将git add的文件提交到本地仓库中
    $ git add file1.txt
    $ git add file2.txt file3.txt
    $ git commit -m "add 3 files."
    

9.版本回退

git status:仓库当前的状态,以及文件是否修改以及提交等

git diff readme.txt:此命令会将修改的文本的内容标注出来

git log:命令显示从最近到最远的提交日志--pretty=oneline此后缀显示简单信息

git reset --hard HEAD^:回退版本 git reset --hard 1094a:回退到指定的版本

注:HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^HEAD~100上100个版本

git reflog:用来记录你的每一次命令

10.工作区(项目目录)、版本库(Repository)【暂存区(stage)和分支】 通过git add,会将文件提交到暂存区(stage),git commit,会将暂存区(stage)的文件提交到电脑中,所在的分支中 注:git commit提交的信息为通过git add提交到暂存区之后的文件

11.git checkout -- file:可以丢弃工作区的修改,可以丢弃工作区的修改(让这个文件回到最近一次git commit或git add时的状态)

12、git reset HEAD readme.txt:把暂存区的修改回退到工作区

13.git rm:用于删除一个文件 ,误删可以用git checkout -- test.txt来回退(前提已经提交到版本库中过)

14.关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git

15、使用命令git push -u origin master第一次推送master分支的所有内容

16、使用命令git push origin master推送最新修改

  1. git clone git@github.com:michaelliao/gitskills.git,在项目根目录下下载项目

分支

18.git checkout -b dev:创建了一个dev分支,并切换到此分支上

19.git branch dev:创建分支dev,git checkout dev:切换到分支上

20.git branch:查看当前分支

21.git merge dev:合并指定分支(例:dev)到当前分支

22.git branch -d dev:删除dev分支

23.git 分支常用命令: 查看分支:git branch

创建分支:`git branch <name>`

切换分支:`git checkout <name>`

创建+切换分支:`git checkout -b <name>`

合并某分支到当前分支:`git merge <name>`

删除分支:`git branch -d <name>`

24.git log --graph:命令可以看到分支合并图(前提要先修改完毕)

25.git merge --no-ff -m "merge with no-ff" dev:合并分支,通过创建新的‘commit’方式,保留合并记录

26.git log --graph --pretty=oneline --abbrev-commit:查看分支的合并记录

27.git stash:把当前工作现场“储藏”起来,等以后恢复现场后继续工作 git stash list:查看工作现场

28.回复工作现场: 一、git stash apply恢复,恢复后,stash内容并不删除,你需要用git stash drop来删除 二、git stash pop,恢复的同时把stash内容也删了 三、git stash apply stash@{0}:回复其中一个工作区 29.丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除

30.查看远程库的信息,用git remote,或者更详细的git remote -v

31.推送分支git push origin master,推送主分支,git push origin dev:推送dev分支

32.git checkout -b dev origin/dev:创建一个dev分支,对应远程的dev分支

33.git pull:将远程库最新的文件,拉下来 注意:git branch --set-upstream-to=origin/dev dev:将本地的dev和远程的dev分支,做对应关系

34.多人协作的工作模式通常是这样:

首先,可以试图用git push origin <branch-name>推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

35.查看远程库信息,使用git remote -v

本地新建的分支如果不推送到远程,对其他人就是不可见的;

从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name

从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

标签

36.git tag v1.0:设置标签,也可以查看标签列表(默认标签打在最新提交版本上),git tag v0.9 f52c633:为历史提交的版本打上taggit show <tagname>:展示标签的详情,git tag -a v0.1 -m "version 0.1 released" 1094adb:为提交打上标签和备注等

37.git tag -d v0.1:将当前版本的标签删除,git push origin v1.0:推送某个标签到远程,git push origin --tags:全部推送,若要删除远程标签:一、git tag -d v0.9二、git push origin :refs/tags/v0.9

忽略特殊文件

38.git check-ignore:检查文件是否正常