Git命令

Git命令
持续更新中......

1. 功能整理

手动创建新仓库

  • 创建新文件夹(或者已有工程文件夹)、进入文件夹、执行git init, 在本地创建了一个新的Git仓库。

  • 添加本地文件夹下已有文件git add Readme.md

  • 提交添加 git commit -m "first commit"

  • 添加远程仓库git remote add origin(远程主机名,可自定义) https://github.com/username/repositoryname.git(在远端已经新建好了仓库)

  • git remote add origin显示已有remote origin,删除已有origin, git remote rm origin,成功后再次添加

  • 提交到远程仓库 git push origin master

克隆仓库

  • 克隆远端服务器上的仓库到本地: git clone address [newname](可选)
  • 克隆某一分支:git clone -b 分支名 远程仓库地址
  • 创建本地仓库的克隆版本:git clone /path/to/repository

注:以上的克隆方法,所使用的远程主机被默认命名为origin,可以自己手动进行定义:

git clone -o hostname https://github.com/username/repositoryname.git
git remote (查看已有的远程主机名)

fork仓库并追踪更新

A项目是从B项目fork出来的。

添加B项目的地址: git remote add upstream SourceprojectURL
确认添加成功: git remote -v 
获取项目B的更新:git fetch upstream
合并项目B的同步:git merge upstream/branchname
将本地更新推送到远端:git push

分支管理

  • 创建新分支,并切换至该分支:git checkout -b branchname
  • 切换至主分支:git checkout master
  • 删除分支:git branch -d branchname
  • 推送分支到远端仓库,否则该分支不为他人所见git push origin branchname
  • 将分支合并到当前分支下:git merge <branchname>
    push后,出现登录GitHub账号的界面,登录成功,就可以了。

添加、提交、推送

  • 添加已有文件/文件夹到本地仓库:git add filename(or filefoldername)

注:如果add后发现(尚未commit),有一些文件暂时不想提交,可使用git reset 撤回
git reset HEAD <filename>(暂时不想commit的文件)

  • 提交改动:git commit -m "提交说明"(提交到HEAD,未到远端)
  • 提交跟踪过的(staged)文件:git commit -am "提交说明"
  • 推送改动到远端仓库:git push origin master(originw为远程主机名,master 为想要推送到的分支名称)
  • 若未克隆现有仓库,应先添加远程仓库:git remote add origin <server>

注:第一次使用git commit命令时,会出现以下提示:

*** Please tell me who you are.
Run
 
  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"
 
to set your account's default identity.Omit --global to set the identity only in this repository.
 

需要先按要求运行命令(示例如下):

 git config --global user.email "myname.qq.com"  %不要漏引号
 git config --global user.name "myname"
2. 命令整理

git remote – 管理主机名

git remote                              %列出所有远程主机名
git remote -v                           %查看远程主机网址
git remote show <主机名>                 %查看主机的详细信息
git remote add <主机名> <网址>           %添加远程主机
git remote rm <主机名>                   %删除远程主机
git remote rename <原主机名> <新主机名>   %修改远程主机名

git push – 本地分支更新推送至远程主机

git push origin master         %将修改推送至origin的master分支下
git push -u origin master      % -u 指定origin为默认主机,之后可直接使用git push进行推送
git push                       %当前只有一个追踪分支,或者已设置默认主机
git push origin branchname     %提交新的分支到远端

git fetch – 将远程更新取回本地

git fetch origin(远程主机名)        %将远程主机各分支的更新全部取回本地
git fetch origin master(分支名)     %将origin的master分支的更新取回本地
git fetch origin master:tmp        %从远程获取master分支的更新到本地的tmp分支上(tmp若不存在则自动新建)

git branch – 分支管理

git branch                    %查看本地分支
git branch -v                 %查看分支详细内容
git branch <branchname>       %在本地新建分支
git branch -d <branchname>    %删除分支

git reset – 回退

git reset HEAD <filename>(不想commit已add的文件)
git reset  --soft <commit id> (不想push已commit的文件,但只修改版本库,不会更改暂存区和工作区)
git reset  --hard <commit id> (不想push已commit的文件,且修改版本库、暂存区和工作区,要做好备份)

git rm – 删除

git rm --cached <filename>    %只从远程仓库删除文件,保留本地文件
git rm <filename>      %从缓存区中删除文件,同时删除物理文件

git merge – 合并

git merge <branchname>     %将<branchname>分支合并到当前分支 

git pull – 拉取

git pull <远程主机名> <远程分支名>:<本地分支名>    %拉取上一次push,相当于git fetch + git rebase

git rebase – 合并

注:rebase与merge相比,可以将本地未push的分叉提交历史整理成直线,使我们在查看历史提交的变化时更容易。

git rebase <branchname>    %将<branchname>分支合并到当前分支

其他

git status   %查看当前推送的状态,一般是在 git add 后查看当前已add的文件
git log      %查看commit log,可以看到每次commit对应的id
3. Git Bash 命令
复制:ctrl+ins
粘贴:shift+ins


以上为个人学习过程中不断积累的学习碎片,
学习是一个不断迭代的过程。
若您在本文档中发现了错误,
还望您告诉我,
不胜感激。

学海无涯,我在泛舟…

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值