Git初阶:入门及常用命令

2017-02-17  本文已影响0人  拾壹北

Git初阶:入门&常用命令


课程内容:

1 / 版本控制以及Git

git:分布式版本控制系统,进行版本控制

集中式版本控制

如SVN,存储每个文件的变化,效率低

2 / Git工作流

GIT的三种状态
GIT的三个区域
生成本地秘钥 在gitlab中add公钥:小人儿->SSH Key->Add
gitignore:忽略提交文件

如果有一些文件/目录不想提交到git,可以通过编辑.gitignore文件进行设置。

例如:不提交 logs下的所有文件/目录

vim .gitignore

编辑:忽略下列文件
# kdiff3 ignore 
*.orig

# maven ignore
target/

# eclipse ignore
.settings/
.project
.classpath

# idea ignore
.idea/
*.ipr
*.iml
*.iws

# temp ignore
*.log
*.cache
*.diff
*.patch
*.tmp

3 / Git常用命令

远程分支branch2克隆到本地后,成为本地的origin/branch2分支 哈希值 - 作者 - 时间

help的例子
通过 git config --help查阅到:

移除某个file-option下的section

可以看到:

命令参数 --remove-section
格式:git config [--local|--global|--system] --remove-section section
使用这个命令,不仅可以删除一个没有内容的section,而且即使该section下面有内容,也会一起删除掉

比如我们来删除这样一个配置:

  首先增加一个配置 dog
  git config --local dog.name "dog1"
  git config --local dog.email "dog1.email"

  git config -e 查看是否添加完成
dog配置完成
  执行:
  git config --local --remove-section dog 
  发现成功移除。
用git merge处理冲突

冲突:不同仓库向远程仓库push代码,一些被同时修改的文件将产生冲突:选哪个合并到远程分支?

此时git提示pull,pull后提示冲突,自动合并失败。

git merge遇到冲突可以怎么做:
(1) 修改冲突再提交
(2) git merge --abort取消冲突合并,回到合并前的状态
(3) git status查看工作区状态,根据提示一步一步来

vim冲突文件:

<<<HEAD和===之间的是本地提交的;===和>>>之间是别人提交的

采用一方的,再push,

fetch / merge / pull | 克隆到本地仓库的分支名默认为origin

如果本地分支与远程分支不对应,git并不知道要将本地分支推送到远程的哪一个分支上,因此通过下面的命令建立本地分支与远程分支之间的关系,将二者绑定,从而每次推送时都有一个对应关系。

  将本地branch2分支设置为追踪来自远程分支origin的分支,本地分支branch2与远程分支origin建立起了绑定关系
  git push -u origin branch2
还原文件

(1)还原成暂存区的内容

  git checkout -- <文件名>

(2)还原成某个版本的内容

  git checkout <版本号> <文件名>

(3)还原成前x次提交

  HEAD:表示当前提交
  HEAD~:表示前一次提交
  HEAD~x:表示前x次提交

  git checkout HEAD~  <文件名> 还原成前一次提交
我们来查看两次提交的不同,hash的前几位字符即可代表该hash code
  git diff 2d8629e3d589 2bd281970f1aef4
两次提交之间的differents
  比较不同分支之间的差别
  git diff master branch

多选题:如何将当前提交指向上一次提交,并仅仅覆盖暂存区的内容:
A. git reset --hard HEAD~
B. git reste HEAD~
C. git reset --mixed HEAD~
D. git reset --softed HEAD~
(BC)

上一篇下一篇

猜你喜欢

热点阅读