git命令整理

0. 链接

https://github.com/

1. 命令行

1.1 初始化

git init

1.2 配置

//一次性配置,会配置到所在文件夹得.git(隐藏)文件夹下,

git config [user.name](http://user.name/) zl
git config user.email [zl@itcast.cn](mailto:zl@itcast.cn)

//全局配置,配置到个人文件夹下

git config --global [user.name](http://user.name/) zl
git config --global user.email [zl@itcast.cn](mailto:zl@itcast.cn)

1.3 查看状态

git status

1.4 add //添加到暂存区

git add /Users/lnj/Desktop/workspace/Weibo/branches/User.m

1.5 commit //提交到本地仓库

git commit  -m “修改了User.m文件” /Users/lnj/Desktop/workspace/Weibo/branches/User.m

1.6 alias //起别名

git config [alias.st](http://alias.st/) status

1.7 reflog

//查看所有修改信息

git reflog

//查看文件被修改的地方

git diff 文件名

--不加文件为显示所有文件被修改的地方

--显示绿色代表新增

--显示红色代表删除

1.8 log //查看log

git log 文件名

1.9 reset //撤销

//撤销未提交的内容
git reset --hard HEAD

//返回上一个版本(已提交),—HEAD^代表强制重置
git reset --hard HEAD^ 

//返回制定版本(已提交)(只要打hash值的前7位)
git reset e695b67   

//返回之前第三个版本(已提交),—HEAD^代表强制重置
git reset --hard HEAD~(3)  

//配置带颜色的log别名
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit”

1.10 checkout

//撤销未提交的版本

$ git checkout Person.h

2. 命令行远程

2.1 新建(先打开需要保存到的远程仓库目录)

git init —bare

--仅仅用于管理代码,不参与开发

2.2 项目经理初始化项目

2.2.1 克隆一份空得仓库到本地(先打开本地目录)

git clone /Users/apple/Desktop/working/公司远程仓库

2.2.2 忽略不需要加入版本控制的文件和文件夹

打开远程仓库文件夹,将以下命令一次性粘贴到命令行中


echo -e "# Xcode

#

build/

*.pbxuser

*.mode1v3

*.mode2v3

*.perspectivev3

xcuserdata

*.xccheckout

*.moved-aside

DerivedData

*.hmap

*.ipa

*.xcuserstate

# CocoaPods

#

# We recommend against adding the Pods directory to your .gitignore. However

# you should judge for yourself, the pros and cons are mentioned at:

# http://guides.[cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control](http://cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control)

#

# Pods/" > .gitignore

2.2.3 将.gitignore添加到代码库中

$ git add .gitignore

$ git commit .gitignore  -m "配置忽略文件"

2.2.4 新建项目,提交到服务器

—source conrol—->将代码提交到本地仓库

3.分支管理

3.1 给本地的项目打标签(先进入经理文件夹)

git tag -a v1.0 -m 'Version 1.0’

3.2 查看当前的标签

git tag

3.3 推送到远程代码库中

git push origin v1.0

3.4 下载一个版本的代码(打开远程代码库目录)

$ git checkout v1.0

3.5 创建分支

git checkout -b 1.0bug_fix

3.6 查看远程分支

git branch -r

3.7 删除远程分支

git branch -r -d origin/bugfix1.0

4.github

4.1 登陆账号

GitHup—>Preferences—>Accounts

4.2 创建项目

左上角“+”号—>Create—>选择目录—>创建—>右上角Publish发布到网上

—>在新建的文件夹下创建一个程序

4.3 Commit to master 提交到本地仓库

4.4 Publish 提交到github

5. 扩展:

checkout 检出
branch分支
config配置
global全局
reset重置
remote远程
merge合并
stash隐藏

git config --global user.name "" 配置用户名

git config --global user.email "" 配置邮件

git init 初始化本地git仓库(创建新仓库)

git add xxx.txt 添加xxx.txt文件

git commit -m "提交" 提交

git status 查看当前版本状态(是否修改)

git diff xxx.txt 显示xxx.txt修改了什么

git checkout -- xxx.txt 把xxx.txt文件在工作区做的修改全部撤销(1.xxx.txt修改后还没有放到暂存区,使用撤销修改就回到和版本库一模一样的状态;2.xxx.txt修改后已经放到暂存区,接着又做了修改,撤销修改就回到添加暂存区后的状态)

git log 显示提交日志

git log --pretty=oneline 显示简洁版的提交日志

git log --graph --pretty=oneline --abbrev-commit 带线版显示提交日志

git reset --hard HEAD^ 回退到上一个版本

git reset --hard HEAD^^ 回退到上上个版本

git reset --hard HEAD~100 回退到前100个版本

git reset --hard 版本号 回退到指定的版本

git reflog 获得版本号

ssh-keygen -t rsa -C "邮箱" 生成.ssh

git remote add origin http/ssh地址 将本地库项目与远程仓库关联

git push -u origin master 将本地库的内容推送到远程仓库,实际上是把当前分支master推送到远程(由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令 git push origin master)

git clone http/ssh地址 将远程仓库内容克隆到本地

rm 文件名 只删除工作区文件

git rm --cached 文件名 只删除暂存区的文件

git rm 文件名 删除工作目录和暂存区域的文件(两个地方文件一样)

git rm -f 文件名 如果工作目录和暂存区域的文件不一样,Git会有提示,可以暴力删除,两个区域都删

git checkout -b 分支名 创建并切换分支(相当于git branch name 创建分支 + git checkout name 切换分支)

git checkout -b dev origin/dev 本地新建一个分支dev,并切换到新建的分支dev,并且建立dev与远程分支origin/dev的跟踪关系(dev是你当前的本地分支,origin/dev是你本地分支对应的远程分支)

git checkout 分支名 切换分支

git merge 分支名 将指定分支合并到当前分支

git merge --no-ff -m "注释" 分支名 --no-ff表示禁用fast forward

通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来禁用”Fast forward”模式。

git branch 查看分支

git branch -a 查看所有分支

git branch -d 分支名 删除本地分支(在主分支下操作)

git push origin --delete 远程分支名 删除远程分支

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支(master)修改的内容,>>>dev是指dev分支上修改的内容

git stash 将当前的工作现场隐藏起来

git stash list 查看隐藏的工作现场

git stash apply 恢复隐藏的工作现场(但是stash内容不会被删除,需要使用命令git stash drop去删除)

git stash drop 删除修改内容

git stash pop 恢复的同时把stash内容也删除了

git remote 查看远程仓库的信息

git remote -v 查看远程仓库的详细信息

git pull 拉取

git branch --set-upstream dev origin/dev

(使用git在本地新建一个分支后,需要做远程分支关联,目的是跟远程分支关联)

(dev是你当前的本地分支,origin/dev是你本地分支对应的远程分支)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269