git常用操作

Posted lztl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git常用操作相关的知识,希望对你有一定的参考价值。

安装后初始化配置:

 

$ git config --global user.name <username>

 

$ git config --global user.email <email>

 

使用 Git 来对现有的项目进行管理,初始化命令

$ git init

 

文件有四个状态: untracked、unmodified、modified、staged。

要查看哪些文件处于什么状态,可以用 git status 命令

untracked  未跟踪,就是从来没被执行过add的文件,没有加入到git库, 不参与版本控制

unmodified   已经执行add并commit提交入库的文件

modified     参与版本控制的文件,被修改后还没进行任何操作时的状态, 可进行add

staged      执行了add,但未commit

 

add命令:

 

git add <文件名>    将这个命令理解为“添加内容到下一次提交中”,运行了 git add 之后又作了修订的文件,需要重新运行 git add 把最新版本重新暂存起来

 

git add .  添加修改、新增的,不包括删除的(指的是直接从硬盘删除,但git仍在跟踪)

 

git add -u  添加修改、删除的,不包括新增的

 

git add -Agit add --all) 添加修改、新增、删除

 

执行add之前(Modified状态)可以使用git checkout -- <file> 来撤销,这时会回到unmodify状态

 

执行add之后(Staged状态)使用git reset HEAD <file>来撤销,同样会回到unmodify状态

 

commit命令:

 

现在的暂存区域已经准备妥当可以提交了( staged ) 在此之前,请一定要确认还有 什么修改过的或新建的文件还没有 git add 过,否则提交的时候不会记录这些还没暂存起来的变化这些修改过的文件只保留在本地磁盘。所以,每次准备提交前,先用 git status 看下,是不是都已暂存起来了, 然后再运行提交命令:

 

$ git commit –m <提交说明>

Git 提供了一个跳过使用暂存区域的方式, 只要在提交的时候,给 git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来 一并提交,从而跳过 git add 步骤:

$ git commit -a -m <提交说明>

 

git分支操作:

git branch  查看当前分支

git branch <分支名> 新建分支

git checkout <分支名> 切换当前分支

git checkout -b <分支名>  新建并切换

git merge <分支名>  将分支名对应的分支合并到当前分支

git branch -d <分支名> 删除分支

git branch -D <分支名> 强制删除分支(例如分支未合并用上一条命令是删不了的)

git tag <标签名>  给当前状态打标签

git checkout <标签名>  回到打该标签名时的状态

 

删除文件:

删除文件用 git rm <文件名>              

如果删除之前修改过并且已经放到暂存区域的话(还未commit),则必须要用强制删除选项 –f

另外一种情况是,我们想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。 换句话说,你想让文件保留在磁盘,但是并不想让 Git 继续跟踪。为达到这一目的,使用 --cached 选项:

$ git rm --cached README  (之后git status会显示untracked

如果是删除某个文件夹的话就是

git rm -r --cached file   //不删除本地文件

git rm -r --f file   //删除本地文件

 

 

查看提交历史:

git log

 

默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近 的更新排在最上面。

 

一个常用的选项是 -p,用来显示每次提交的内容差异。 你也可以加上 -2 来仅显示最近两次提交。

 

你也可以为 git log 附带一系列的总结性选项。 比如说,如果你想看到每次提交的简略的统计信息,你可以使用 --stat 选 项。  --stat 选项在每次提交的下面列出额所有被修改过的文件 、有多少文件被修改了以及被修改过的文件的哪些行被移除或是添加 了。 在每次提交的最后还有一个总结。

 

 

用git管理远程GitHub项目:

从一个服务器克隆一个现有的 Git 仓库: 

git clone <url>

本地项目关联远程仓库:

git remote add origin <远程地址>  

其中origin为远程主机名,可以随便取

(如果是项目的clone下来的话,则默认使用git管理并且添加了远程)

git push -u origin master      //提交本地到远程origin主机maser分支

如果在githubremote上已经有了文件,而该文件的最新状态不是由你push的话,会出现错误。此时应当先pull一下,即:

git pull origin master

然后再执行push操作

或者可以直接执行git push -u origin master -f  强制push,但这样远程会被覆盖并从新开始

 



以上是关于git常用操作的主要内容,如果未能解决你的问题,请参考以下文章

git中常用的操作命令有哪些?常用操作命令归纳

Git常用操作命令

Git常用操作

GIT常用操作命令收集

Git工程开发实践——Git常用操作

Git常用操作