一、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
git add readme.txt添加一个文件到本地仓库中git commit -m "wrote a readme file"文件提交到仓库(-m:指的是此次提交的备注,)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推送最新修改
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:为历史提交的版本打上tag,
git 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:检查文件是否正常