Git使用笔记

 备注:

 1:设置用户名邮箱

git config --global user.name ""

git config --global user.email ""

查看邮箱用户名:git config user.name

查看配置状态:git config --list

2:创建版本库(仓库),可以为不同的仓库设置不同的用户,并初始化仓库

进入具体盘符下的仓库存放文件夹:(新建文件夹)mkdir filename

pwd :显示当前目录

进入上一级:cd ..

git init :生成.git文件夹

3:提交修改文件(不支持图片视频等的监控)

git add file

git commit -m +注释

git status查看当下分之文件状态是否有变化

git differ file 查看文件前后修改内容

4:查看提交Log

git log:显示最近三次提交logId以及内容

git log -pretty=oneline :简略显示

5:版本回退

git reset --hard   HEAD^^^(^的次数代表回退的次数),如果多次用HEAD~(+次数)

6:查看文件内容

cat file

7:获取修改提交内容以及版本号

git reflog

8:根据版本号回退

git reset --hard 版本号

9:版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

每次我们把修改的代码先存放在缓存区,然后通过commit放进当前分支

10:撤销修改

git checkout -- file(区分创建分支命令git checkour branch)

文件在工作区做的修改全部撤销,这里有2种情况:第一,文件自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。第二,readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。

 11:删除文件

方式:第一直接文件夹下删除,第二,命令 rm file,然后commit,在没有commit之前,可以撤销删除: git checkout -- file

第一次实践主要命令:
git add .
git commit -m ""(可以是文件夹文件名 方便以后查看本次修改的东西)
git push origin lym/0729
git checkout master(回到master)
git pull

如果多次提交,想要修复成一次提交:
git log --graph

远程库Github配置环境

1:上边的配置只能允许Git本地管理,如果要远程提交代码,需要配置SSH 秘钥

ssh-keygen -t rsa -C "email"(ssh后边没有空格)

选择路径,默认,则出现了.SSH文件以及下面的.rsa &.rsa.pub

copy 公共秘钥rsa,提交。

2:登录github上,然后在右上角找到“create a new repo”创建一个新的仓库

把本地的仓库推送同步到Github远程库中,

git remote add origin https://github.com/tugenhua0707/testgit.git 

3:master是一个时间串线,连接起所有commit的东西

HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支

 4:查看所有分支

git branch

5:当在一条分支修改完之后,回到主分支master,看不到文件的修改,此时需要merge之前在分支上的修改到主master上

git merge 分支

6:此时查看文件,已经同步。cat file

7:merge完成,删除之前的分支:git branch -d branchname

但是通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,采用如下命令避免该模式

 git merge –no-ff  -m “注释” branch

8:当需要不同的工作空间时,我们可以隐藏当前的分支工作空间,临时创建新的分支

git stash(隐藏当前分支)

git status(当前工作空间是干净的)

创建新的临时分支,修改内容,add,commit,merge(避免fast forward),删除临时分支,回到以前分支,git checkout oldbranch(此时还是干净的)

8:恢复工作空间

git stash list

恢复:

git stash apply,之后删除stash:git stash drop

git stash pop 恢复的同时删除stash

实际上,远程库的默认名称是origin,

  1. 要查看远程库的信息 使用 git remote
  2. 要查看远程库的详细信息 使用 git remote –v

推送本地内容到远程库:

git push origin master

一般情况下,那些分支要推送呢?

  1. master分支是主分支,因此要时刻与远程同步。
  2. 一些修复bug分支不需要推送到远程去,可以先合并到主分支上,然后把主分支master推送到远程去。

多人协作时,大家都会往master分支上推送各自的修改,

首先要把dev分支也要推送到远程去,git push origin branch,

克隆远程的库到本地来 git clone url

把远程的origin的dev分支到本地来git checkout  –b branch origin/branch,修改,push,git push origin branch

推送有冲突,先用git pull把最新的提交从origin/dev抓下来,然后在本地合并,解决冲突,再推送

 

posted @ 2017-08-01 10:25  sunshinelym  阅读(156)  评论(0编辑  收藏  举报