Py学习  »  Git

GIT指令学习笔记

李小白爱思考 • 5 年前 • 197 次点击  

使用Git的操作流程

1.Git的下载与安装
首先去 git-scm.com/downloads 这个网站下载与自己电脑相匹配的Git的安装文件下载完毕后点击运行,一路点击next即可完成安装.

2.创建版本库
首先选择一个合适的地方,创建一个空目录,然后进入当前目录,在当前目录下右键,点击Git Bush,可以使用 pwd 命令来显示当前目录,接着使用 git init 命令把这个目录变成Git 可以管理的仓库然后你就会看到这个目录下多了一个.git的目录,这个目录就是 Git 来追踪和管理版本库的,如果系统默认隐藏了这类后缀名的文件你可能就会看不到,使用 ls-ah 命令就可以看见.

3.配置你的git仓库的用户邮箱和用户名
git config --global user.email "your email"
git config --global user.email "your name"

4.添加远程仓库

常用的git操作命令

(1) git clone <版本库的网址> <本地目录名> 克隆远程仓库到本地
我比较推荐: 去GitHub网站上创建一个项目仓库,复制仓库地址,然后再本地选择一个你想要存放这个项目的地方,新建一个空的文件夹,在这个文件夹下面右键选择git Bush,然后使用git clone <你复制的地址>,这里本地目录名省略则默认时当前目录,就可以把你的项目克隆到本地了.

(2) git add 添加文件到暂存区

  • git add <filepath>
    添加你新建的文件到暂存区.
  • git add .
    把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新(new)文件,但不包括删除的文件("."是匹配符,这里可以代指匹配所有).
  • git add -u
    u(update的缩写),该命令仅监控已经被add的文件,它会将被修改的文件(即tracked file)提交到暂存区. 不会提交新文件(untracked file)
  • git add -A
    是 git add . 和 git add -u 这两个命令功能的合集,提交所有修改的(modified)文件到暂存区,包括新文件(new).
  • git add -i
    我们可以通过git add -i [<path>]命令查看<path>中被所有修改过或已删除文件但没有提交的文件,

补充: 通过git add <匹配符>的方式你可以添加符合特定条件的文件,例如hello* 表示添加以hello开头的文件的修改添加到暂存区,具体的写法大家可以自行百度下^_^^_^
git push -u origin master //把本地库的所有内容推送到远程库上

(3)git commit 提交修改的文件到工作区

  • git commit -m "<modify message>"
    提交所有暂存区的文件
  • git commit -am | -a -m "<modify message>"
    提交所有被跟踪的修改过的文件,包括没有进入暂存区的文件
  • git commit --amend
    取消上一次的提交

(4) git pull //从远程仓库拉取数据同步到本地

(5) git push //从本地仓库推送(同步)修改到远程仓库

关于git push 的几个扩展的用法

  • git push -u origin master
    如果当前分支与多个主机存在追踪关系,则可以使用 -u 参数指定一个默认主机,这样后面就可以不加任何参数使用git push,不带任何参数的git push,默认只推送当前分支,这叫做simple方式,还有一种matching方式,会推送所有有对应的远程分支的本地分支, Git 2.0之前默认使用matching,现在改为simple方式如果想更改设置,可以使用git config命令。git config --global push.default matching OR git config --global push.default simple;可以使用git config -l 查看配置
  • git push --all origin
    当遇到这种情况就是不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机,这时需要 -all 选项
  • git push --force origin git
    push的时候需要本地先git pull更新到跟服务器版本一致,如果本地版本库比远程服务器上的低,那么一般会提示你git pull更新,如果一定要提交,那么可以使用这个命令。

5.查看仓库文件的状态
使用 git status 命令可以让我们时刻掌握仓库当前的状态,比如那些文件被修改,那些文件需要提交等等.

6.比对版本间某文件的差异
使用 git diff "filename" 就可以查看某个文件修改前后的版本的不同

7.查看版本日志
使用 git log 命令我们可以查看某个项目从最近到最远的提交日志.如果内容太多,可以试试加上 --pretty=online 来进行筛选.

8.回退之前的版本
在 Git 中, HEAD 表示当前的版本,我们可以通过 git reset --hard HEAD^| commit id, HEAD^是上一个版本,HEAD^^ 是上上个版本,如果上一百个版本则采用,HEAD~100. 我们也可以通过commit id
回退到某个指定的版本.

9.git reflog
git reflog 可以记录你的每一次命令,方便你随时查看历史操作记录

10.git checkout -- filename
git checkout -- filename 这一指令可以将修改过但还未commit的文件版本返回至最近一次commit或者add的状态.

11.关于版本控制的小结
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。git checkout -- file 还可以一键还原误删的文件.
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

12.删除文件

git rm filename
git commit -m "remove a file"

13.Git 分支

Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>

说明: 记得养成良好的习惯,每次添加修改和删除文件的时候都要先添加到暂存区再提交,每一次提交的时候要写说明,修改了哪些地方,方便日后查看.


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/YkrNJJoiyK
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/12342
 
197 次点击