Git入门

Git基础

git init 初始化后,在当前目录下会出现一个名为 .git 的目录。

git clone url  从现有仓库克隆。

git status 检查当前文件状态。

git add 加入git跟踪或者加入暂存。

git diff 查看没有暂存的文件和暂存文件的区别。

git diff --staged 已经暂存起来的文件和上次提交时的快照之间的区别。

请注意,单单 git diff 不过是显示没有暂存起来的和暂存起来的区别,而不是这次工作和上次提交之间的区别。

git commit -m '说明' 提交更新

git rm 1.原仓库有该文件,手动在工作目录删除,调用 git rm 命令,之后 git commit

    2.原仓库有该文件,手动在工作目录修改过后而且已经放入暂存区,再删除,需要 git rm -f

    3.原仓库有该文件,从仓库中删除,工作目录保留, git rm --cached

git mv 文件改名

git log 查看提交历史

git commit --amend  修改最有一次提交,比如你有新修改的东西,想和上一次的提交合并到一起,那么把这一次的修改 git add (暂存)后,git commit -amend 撤销上一次提交,这是上一次的暂存和这一次的暂存将合并,你可以都放在这一次提交

git reset HEAD 取消暂存

git checkout 取消对文件的修改

远程仓库

git remote 查看当前远程仓库

git remote add 添加远程仓库

git fetch 从远程仓库抓取数据

本地分支

Git中有一个HEAD指针,指向你正在工作中的本地分支的指针。

git branch [name] 新建分支

git checkout [branch name] 切换分支,切换分支的时候最好保持一个清洁的工作区域。你的暂存区或者工作目录里,那些还没有提交的修改,它会和    你即将检出的分支产生冲突从而阻止 Git 为你切换分支。

git merge [branch name] 合并分支,这里 branch name 是被合并的分支。

1.如果遇到冲突,git status 找到冲突文件,git 会把两个分支的内容合并,等待你手动解决,解决后 git add ,之后 git commit 才可以 git merge。

2.如果没有冲突,可能出现 Fast forward 提示,那么 Git 顺着一个分支走下去可以到达另一个分支的话,在合并两者时,只会简单地把指针右移,因为这种单线的历史分支不存在任何需要解决的分歧,所以这种合并过程可以称为快进(Fast forward)。

git branch -d [branch name] 删除分支

git branch --merged 查看已经合并的分支,一般来说,在该命令列表下没有 * 的分支是可以git branch -d 删除的。

git branch --no-merged 查看没有合并的分支

远程分支

当你调用 git clone url 从远程仓库克隆。Git 会自动为你将此远程仓库命名为 origin,并下载其中所有的数据,建立一个指向它的 master 分支的指针,在本地命名为origin/master,但你无法在本地更改其数据。接着,Git 建立一个属于你自己的本地 master 分支,始于origin 上 master 分支相同的位置,你可以就此开始工作。一次 Git 克隆会建立你自己的本地分支 master 和远程分支 origin/master,并且将它们都指向 origin 上的 master 分支。


如果你在本地 master  分支做了些改动,与此同时,其他人向服务器的Git 推送了他们的更新,那么服务器上的master 分支就会向前推进,而与此同时,你在本地的提交历史正朝向不同方向发展。不过只要你不和服务器通讯,你的origin/master 指针仍然保持原位不会移动。

可以运行git fetch origin 来同步远程服务器上的数据到本地。 从上面获取你尚未拥有的数据,更新你本地的数据库,然后把origin/master 的指针移到它最新的位置上。 值得注意的是,在fetch 操作下载好新的远程分支之后,你仍然无法在本地编辑该远程仓库中的分支。换句话说,你不会有一个新的origin/master 分支,有的只是一个你无法移动的 o rigin/master 指针。

如果要把该远程分支的内容合并到当前分支,可以运行 git merge origin/master



git push [server] [local branch]:[branch] 推送本地分支到远程服务器上的分支
git push [server] :[branch] 删除服务器上的分支
跟踪分支

从远程分支checkout出来的本地分支,称为 跟踪分支 (tracking branch)。跟踪分支是一种和某个远程分支有直接联系的本地分支。在跟踪分支里输入git push,Git 会自行推断应该向哪个服务器的哪个分支推送数据。同样,在这些分支里运行 git pull 会获取所有远程索引,并把它们的数据都合并到本地分支中来。

在克隆仓库时,Git 通常会自动创建一个名为 master 的分支来跟踪 origin/master。当然,你可以随心所欲地设定为其它跟踪分支,  git checkout -b [分支名] [远程名]/[分支名]


声明:图片来自互联网


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值