Git 常用命令

Git命令

cmd 描述
git status 查看当前分支状态
git branch 查看当前所属分支
git branch -a 查看所有本地分支和远程分支
git checkout -b 分支名 新建并切换本地分支
git checkout -b 本地分支名 origin/远程分支名 新建并切换远程分支
git branch -D 分支名 删除本地分支
git push origin --delete 分支名 删除远程分支
git pull origin master 下拉代码
git clone git@github.com 克隆代码
git stash 储藏代码
git stash list 查看现有的储藏
git stash apply 应用储藏
git remote -v 查看现有远程仓库的地址url
git config credential.helper store 保存密码到硬盘
git push origin HEAD ||
git push origin ***(分支名称)
本地推到服务器
git config --global credential.helper store 全局配置密码
git diff 查看尚未暂存的文件更新了哪些部分

创建标签tag

//创建
git tag -a <版本号> <SHA值> -m "<备注信息>"
//推送
git push origin --tags

切换分支

git checkout 分支名

若:切换失败

git reset --hard 分支名

git checkout 分支名

新建远程分支

  1. git checkout -b 分支名
  2. git push origin 分支
  3. git branch --set-upstream-to=origin/分支名 //将本地分支my-test关联到远程分支
  4. git branch -a //查看远程分支

上传代码

跟踪项目文件夹中的所有文件和文件夹
1. git add . 
2. git commit -m 'first_commit'
3. git remote add origin https://github.com/jerryhanjj/baike_spider.git

如果关联出现错误

fatal: remote origin already exists

则执行下列语句再进行关联

git remote rm origin

把本地库的所有内容推送到远程库上

git push -u origin master

如果在推送时出现错误

error:failed to push som refs to.......,

则执行下列语句
git pull origin master

error:refusing to merge unrelated histories

则执行下面语句

git pull origin master --allow-unrelated-histories

将项目提交到服务器
mkdir ddys-lite-android
cd ddys-lite-android
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@git.dingdingyisheng.mobi:ddys-lite/ddys-lite-android.git
git push -u origin master

创建远程仓库

  1. git init //初始化文件夹为代码仓库
  2. git add . //添加本地所有文件到
  3. git commit -m "你的提交信息" //向本地仓库提交add的所有文件
  4. git remote add origin https://git.oschina.net/sanchi3/ThreeKillers.git //将OSC的远程分支拉取到本地
  5. git push -u origin master //提交本地仓库的修改到远程master分支。

由于是第一次提交,远端还没有创建任何分支,所以使用-u命令,与远端建立联系。

若push 失败

git pull origin master --allow-unrelated-histories

强推

git push --force-with-lease origin master:master

推错远程分支

git reset --hard <commit_id>

git push origin HEAD --force

全局配置用户信息

git config --global user.email "zhengweiqun@flyaudio.cn" && git config --global user.name "zhengweiqun" && git config --global core.editor "vim"
<1>:git config --global user.email "linghuihua@flyaudio.cn"  指定邮箱
<2>:git config --global user.name "linghuihua"        指定用户名
<3>:git config --global core.editor "vim"          指定编辑器为VIM
Git global setup
git config --global user.name "郑炜群"
git config --global user.email "zhengwq@iaskdoc.com"

删除所有提交,清空仓库

1、只需删除.git项目根目录中的目录
2、再重新初始化项目,上传到服务器
git init
git remote add origin git@github.com:user/repo
git add .
git commit -m 'message'
git push -f origin master

放弃本地修改

#本地所有修改的。没有的提交的,都返回到原来的状态
git checkout .
#把所有没有提交的修改暂存到stash里面??捎胓it stash pop回复。
git stash
#返回到某个节点,不保留修改。
git reset --hard HASH 
#返回到某个节点。保留修改
git reset --soft HASH 

打patch(将patch文件中对代码的修改,应用到源代码,从而把对代码的修改应用到code中)

git format-patch
$ git format-patch HEAD^                #生成最近的1次commit的patch
$ git format-patch HEAD^^             #生成最近的2次commit的patch
$ git format-patch HEAD^^^                   #生成最近的3次commit的patch
$ git format-patch HEAD^^^^             #生成最近的4次commit的patch
$ git format-patch <r1>..<r2>                   #生成两个commit间的修改的patch(包含两个commit. <r1>和<r2>都是具体的commit号)
$ git format-patch -1 <r1>                  #生成单个commit的patch
$ git format-patch <r1>                             #生成某commit以来的修改patch(不包含该commit)
$ git format-patch --root <r1>               #生成从根到r1提交的所有patch

git am
$ git apply --stat 0001-limit-log-function.patch         # 查看patch的情况
$ git apply --check 0001-limit-log-function.patch        # 检查patch是否能够打上,如果没有任何输出,则说明无冲突,可以打上
(注:git apply是另外一种打patch的命令,其与git am的区别是,git apply并不会将commit message等打上去,打完patch后需要重新git add和git commit,而git am会直接将patch的所有信息打上去,而且不用重新git add和git commit,author也是patch的author而不是打patch的人)
$ git am 0001-limit-log-function.patch                                # 将名字为0001-limit-log-function.patch的patch打上
$ git am --signoff 0001-limit-log-function.patch                  # 添加-s或者--signoff,还可以把自己的名字添加为signed off by信息,作用是注明打patch的人是谁,因为有时打patch的人并不是patch的作者
$ git am ~/patch-set/*.patch             # 将路径~/patch-set/*.patch 按照先后顺序打上
$ git am --abort                                                                   # 当git am失败时,用以将已经在am过程中打上的patch废弃掉(比如有三个patch,打到第三个patch时有冲突,那么这条命令会把打上的前两个patch丢弃掉,返回没有打patch的状态)
$ git am --resolved                                                             #当git am失败,解决完冲突后,这条命令会接着打patch


// 生成365a到4e16之间的补丁
git format-patch 365a..4e16 --365a和4e16分别对应两次提交的名称
// 应用patch:
git apply --stat newpatch.patch  ->  先检查patch文件
git apply --check newpatch.patch  ->  检查能否应用成功
git am  newpatch.patch      ->  打补丁
或者
git am --signoff < newpatch.patch
(使用-s或--signoff选项,可以commit信息中加入Signed-off-by信息)
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容

  • 开始: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/...
    草根老张阅读 842评论 0 50
  • 查看、添加、提交、删除、找回,重置修改文件 git help # 显示command的help git sho...
    Swiftor阅读 2,108评论 0 2
  • 配置 首先是配置帐号信息ssh -T git@github.com # 登陆 github 修改项目中的个人信息 ...
    guanguans阅读 728评论 0 3
  • 分布式版本管理工具 git属于分布式 svn集中式 git安装 git初始化一个仓库 其实就是创建了一个.git隐...
    SnowDragonYY阅读 1,503评论 0 0
  • 人这辈子,回头看看: 苦没少受,汗没少流, 罪没少遭,累没少挨。 最辛苦的人是谁? 是自己! ...
    生活就是小说阅读 933评论 9 40