git init
git add (file or files) // 实际上就是把文件修改添加到暂存区
git commit -m (comment) // 实际上就是把暂存区的所有内容提交到当前分支
HEAD指向的是当前版本,HEAD^指向的是上个版本
Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本
git checkout -- filename 丢弃工作区的修改,将此文件返回到最近一次的git commit和git add状态
当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD filename,就回到了场景1,第二步按场景1操作。
Github与本地版本库之间的协作:
1.将remote repo同步到本地:
$ git remote add origin git@github.com:michaelliao/learngit.git
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库
2.下一步,就可以把本地库的所有内容推送到远程库上
创建新的分支:
git checkout -b dev
equals to= 1.git branch dev git checkout dev
删除分支:
git branch -d dev
git merge 命令用于合并指定分支到当前分支
推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上
eg: git push origin master
eg: git push origin dev
当你的小伙伴从远程库clone时,默认情况下,你的小伙伴只能看到本地的master分支
现在,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支
$ git checkout -b dev origin/dev
查看远程库信息,使用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,如果有冲突,要先处理冲突。
撤销最近一次的git add:git reset --mixed HEAD
网友评论