git极简教程-温故知新

0.配置

全局签名配置

git config --global user.name harrietlq
git config --global user.email nbllq@qq.com

项目签名配置,切换到项目目录下

git config user.name harrietlq
git config user.email nbllq@qq.com

给远程的github仓库配置别名为amy,以后pull&push用amy来代替一长串github仓库地址,方便爽~

git remote add amy https://github.com/amyflash/smart_trading.git
git remote add amy_ssh git@github.com:amyflash/smart_trading.git

查看已经配置好啦

git remote -v

1.查看历史记录的4种方式

git log 全显示
git log –pretty=oneline #一行显示一次提交
git log –oneline #一行显示一次提交,hash截取一部分
git reflog #显示步数

ps: vim 语法里面:set nu为显示行号,空格键下翻,p翻页

2.版本前进后退

git reflog 找到hash index
git reset –hard [hash index]

2.1 reset 3 params:

–hard: 在本地库移动head;重置暂存区;重置工作区
–mixed:在本地库移动head;重置暂存区
–soft:仅仅在本地库移动head

2.2 当前文件add了,没有commit,则用git reset –hard head 可以回退到没有add的状态

如果前文件add并且commit了,就用git reset –hard [hash index]这种方式回退到对应状态;这个功能可以帮助找回在工作区误删的文件,前提是该文件至少从工作区add到暂存区过,或者提交到本地库过

3.比较文件差异

将工作区文件和暂存区进行比较

git diff filename

将工作区的文件和本地库历史记录比较

git diff history-version filename
git diff head~3 filename

不带文件名,多个文件比较

git diff head

4.分支操作

查看所有分支

git branch -v

创建新分支

git branch 分支名

切换分支

git checkout 分支名

合并分支

先切换到要被合并的那个分支,比如把hot_fix分支合并到master分支,那么就执行命令
git checkout master
然后 执行
git merge hot_fix

5.解决冲突

diff以后程序员间大pk即可

6.向远程仓库推送本地master分支(创建者)

git pull amy master
git push amy master

git pull = git fetch+git merge
ps: git pull更新代码的话就比较简单暴力了,所以不要用git pull,用git fetch和git merge更安全

7.clone远程仓库到本地(参与者)

git clone https://github.com/amyflash/smart_trading.git
这个命令执行效果:
完整把远程库下载到本地
创建origin地址别名
初始化本地库

8.如何邀请其他人加入这个项目

[百度经验写得不错,我就不重复造轮子了]